【廢棄中】JavaScript 式與運算符

建立: 2017/09/25
更新: 2019/01/14 修改標題 [JavaScript 式與運算符] ->  [JavaScript 式與主要Object的方法]
更新: 2019/02/19 增長【廢棄中】標籤與整體任務
遷出: 2019/03/03 把Math相關, 數值類型轉換相關         遷出到【 JavaScript Math
                          把typeof                                       遷出到【 JavaScript 檢驗變量
                          把String相關, String類型轉換相互     遷出到【 JavaScript String
 
TODO: 拆份內容到各個新博文並將此博文歸檔爲廢棄
 2 3-5 7-12 18
 6 13-17 19
 
 運算符
 會改變值的運算符  只有以下幾個
 =
 ++, --
 delete
 運算符的優先法則與結合律  p76
 // TODO: 補充
   
 數值運算
 算數運算符  所有做爲64位浮點數進行運算(其餘語言的double)
 運算前所有轉換爲double,不能轉換的結果爲NaN
 
 二項運算符
 +, =, *, /, %
 整數之間的除法結果也是浮點數!  7/2 // 3.5
 %結果也是浮點數  a%b 符號與a相同
 a-bk的絕對值最想的數
 沒法計算的話是NaN  
 true做爲1,false做爲0   
 0/0 //NaN  
 單項運算符
 
 ++,--  累加累減
 +   不作任何處理 
 -  改變符號
 前置的先運算在評價式子  let a = 1;
 let b = ++a +1; // a = 2, b = 3
 後置的先評價式子後運算  let a = 1;
 let b = a++ + 1;//a = 2, b = 2
   
   
 代入運算符
 =, +=, -=, *=, /=, %=  
 Math Object的屬性與方法  屬性

 e(天然對數的底)  Math.E
 ln2  Math.LN2
 ln10   Math.LN10
 log e
     2
 Math.LOG2E
 lge

 log   e
     10
 Math.LOG10E 
 π(圓周率)  Math.PI
 0.5的平方根  Math.SQRT1_2 
 2的平方根  Math.SQRT2
   
   

 方法
 絕對值   Math.abs(x)
 arccos(x)
*arc是指弧度,也就是cos值對應的弧度的意思
 Math.acos(x) 
 arccosh(x)  Math.acosh(x)
 arcsin(x)  Math.asin(x)
 arcsinh(x)  Math.asinh(x)
 arctan(x)  Math.atan(x9
 arctan2(y,x)
 y/x的acrtan
 Math.atan2(y,x)
 arctanh(x)  Math.atanh(x)
 立方根  Math.cbrt(x)
 x以上的最小整數(包含自身)  Math.ceil(x)
注意:
 Math.ceil(5) // 5
 x轉爲32位無符號整數時開頭0的數量   Math.clz32(x)
 cos(x)  Math.cos(x)
 cosh(x)  Math.cosh(x)
 e的x次方  Math.exp(x)
 e的x次方 -1  Math.expm1(x)
 x如下的最大整數  Math.floor(x)
 最接近x的單精度浮點數(float)  Math.fround(x)
 平方的和的根  Math.hypot(x1, x2, ...)
 a,b的32位整數乘法
 就是運算比較快的乘法
 Math.imul(a, b)
 log  x
     e
 Math.log(x)
 log x
     2
 Math.log2(x)
 log  x
     10
 Math.log10(x)
 log (x+1)
     e
 Math.log1p(x)
 最大值  Math.max(x1, x2, ...)
 最小值  Math.min(x1, x2, ...)
 x的p次方  Math.pow(x, p)
 0到1之間的隨機數
 以當前時間爲種子 
 Math.random()
 x的四捨五入  Math.round(x)
 獲取x的符號
 + =》1
 0 =》 0
 -  =》-1 
 Math.sign(x)
 sin(x)  Math.sin(x)
 sinh(x)  Math.sinh(x)
 平方根  Math.sqrt(x)
 tan(x)   Math.tan(x)
 去掉小數部分  Math.trunc(x)
   
   
   
   
 浮點數與偏差  Math.abs(a/b - 0.8) < 1e-10
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 字符串的操做
 字符串的鏈接  +
 左右都是字符串   直接鏈接
 一邊是字符串或者能夠轉換爲字符串的object  另外一邊轉換成字符串來鏈接
 其餘狀況  左右轉換爲數值相加
 (轉換不了的做爲NaN)
   
   
   
   
   
   
   
 操做字符串的方法  注意: 字符串字面量自己不是Object
 注意: 這些方法返回結果,可是字符串自己不變
 生成字符串Oject  var sample = new String("...");
這樣的靜態值轉換爲object成爲wrapping(ラッピング)
 wrap obejct
 ラッパーオブジェクト 
 var sample = "hello"
 var c = sample.length // 5

 字符串不是Object,因此這裏自動生成一個即用即消的object
  var msgObj = new String(msg)
  var c = msgObj.length
 獲取長度  length
 獲取第n個字符的十進制代碼
 ES6
 codePointAt(n)
 獲取第n個字符  charAt(n)
 也能夠和數組同樣,可是隻可讀,不能賦值
 str[n]
 鏈接  concat(s1, s2, s3, ...) 直接鏈接
 concat([s1, s2, s3, ...]) s1直接鏈接,後面的都加上","
  concat() 能夠不要參數,什麼都不作
 是否以s結尾
 ES6
 endsWith(s[,n])
 若是指定n, 則n做爲結尾位置來判斷
 是否包含
 ES6
 includes(s[ ,n])
 若是指定n, 則n做爲開頭來搜索
 最早出現的位置  indexOf(s)
 最後出現的位置   lastIndexOf(s)
 sort順序下是否在s先後
 或者相同
 localeCompare(s)
 相同的時候返回0
 用參數r正規表現匹配的結果  match(r)
 用給定格式來標準化  normalize([form])
 重複n次鏈接本身
 ES6
 repeat(n)
 0次清空,1次不變 ,2次開始纔是增長
 用s2代替s1  replace(s1, s2)
 返回正規表現匹配到的開頭索引  search(r)
 獲取子字符串  
 slice(m,n)  slice(m,n)
 負數表明從後往前數
 slice(n) 從n到最後
 substring(m,n)  不支持負參數,負的做爲0
 後面參數小的話自動對調
   
   
   
   
   
   
   
   
 以s做爲分割符進行分割  split(s[, n])
 返回分割後的數組
 指定n的話,n是分割元素的上限數
 是否以s開頭
 ES6
 startsWith(s[, n])
 指定n的話,以n做爲開頭
 大寫文字  
 根據位置轉換爲大寫  toLocaleUpperCase()
 不根據位置   toUpperCase()
   
   
   
   
   
   
   
   
 
 小寫文字  
 根據位置轉換爲小寫  toLocaleLowerCase()
 不根據位置  toLowerCase() 
   
   
   
   
   
   
   
   
 StringObject轉換爲字符串  toString()
 valueOf()
 兩個同樣
 去掉先後的空白  trim()
   
   
   
   
   
   
   
 String構析函數的方法  
 1  String.length
 從參數的字符代碼生成字符串  String.fromCharCode()
 從CodePoint生成字符串
 ES6
 String.fromCharPoint()
 String的原型對象  String.prototype
 獲取模板的字符串
 ES6
 String.row()
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 邏輯運算符與關係運算符
 邏輯運算符
 ==  等價
 值相等true,不等false
 !=  不等值
 ===  相同
 左右類型相同,值相等true
 !==  不相同
 值或類型不一樣
 <,>  值大小關係
 <=, >=  值大於等於,小於等於
   
   
   
   
   
   
   
   
   
 關係運算符
   
   
   
   
   
   
   
   
   
   
   
 位運算
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 其餘運算符
 判斷類型
 typeof
 返回對象值數據類型,字符串
 typeof "A" //string

 
 數據  返回值 
 數字和NaN  "number"
 字符串  "string"
 未定義值
 (就一個undefined)
 "undefined"
 空值null  "object"
 符號
 Symbol("sample")
 "symbol"
 函數之外的對象  "object"
 函數  "function"
   
   
 三項運算符
 ?:
 三項運算符
 a = 5 ? a : 0
 ,  for裏面用
 動態運行代碼  eval_r("...")
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 明確的類型轉換
 數值--》字符串  
 直接和字符串用+接字符串  例:
 "abc" + 1//"abc1"
 1 + "abc"//"1abc"
 Number的方法  
 轉換成字符  toString()
 能夠帶參數(2~32),表示表達的進制
   toLocaleString(n)
 指定小數點下位數  toFixed(n)
 指定小數點如下的位數
 指數表示  toExponential(n)
 n表示小數點下位數
 有效位數表示  toPrecision(n)
 n指定有效位數
 有效位數小於整數位數,科學計數法表示 
   
   
   
   
   
 String生成方法  String(n)
 n能夠使任意類型
 生成的是字符串不是對象
   
   
   
   
   
   
   
 字符串--》數值  
 自動轉換  var s = "2"
 s - 0
 +s
 函數
parseInt(n,r)  第二參數是說明第一參數是幾進製表達,默認10 
parseFloat(n)  轉爲浮點數
 Number生成方法  Number(n) 
 生成的是數值不是數值對象
   
   
 任意類型-》布爾值  !!x  Boolean(x) 注: 數值裏0是false      字符串裏""是false
相關文章
相關標籤/搜索