【废弃中】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
相关文章
相关标签/搜索