算数运算符(基础数字运算)
+ - * / % (求余数)
当不是数字之间的运算的时候
+号两边一旦有字符串(引号引起来的一坨),那么+号就不再是数学运算了,而是拼接,最终结果是字符串 *****
-/*% 尽量将字符串转换成数字(隐式类型转换)
NaN : Not a Number number
number数字
在js里面的小数和整数统一都是数字,-2^53-2^53,超出范围之后精度就会不准确
number方法
Number()——参数中必须能被转换成数字,否则返回NaN:
parseInt(解析的参数)——将参数转换为数字,整数部分遇到不是数字就停
parseFloat()——将参数转换为数字,直到小数部分遇到不是数字就停
Num.toFixed(n)——四舍五入保留n位小数
NaN(Not a Number)
NaN 不等于自己
赋值运算符
+= -= *= /= %=
++ -- 两个都存在隐式类型转换,会全部转换为数字
++x x++
针对布尔值 true false
&& 与 两边都为真,结果才为真,其他为假
|| 或 两边都为假,结果才为假,其他都是真
! 非 取反,真变假,假变真
当逻辑运算符,两边不一定是布尔值的时候
&& 遇到假就停,但是不会进行类型转换
|| 遇到真就停,但是不会进行类型转换
! 隐式类型转换,将后面的数据先转换为布尔值再取反
例:
判断:
循环: for(){} while (){} do{}while()
if
if ==> 布尔值
判断符
> < >= <= == != !== ===
== 只判断值是否一样 "5"==5
=== 不仅仅判断值,还判断类型是否一样 "5" === 5
当if的条件 运算完后不是布尔值的时候 会被强制性的转换为布尔值
哪些值,在转换为布尔值的时候为false
0 number
false boolean
"" string
null object/null
undefined undefined
NaN number
NaN :Not a Number number类型
一般在非法运算的时候才会 出现NaN
isNaN(参数) 非常讨厌数字
首先尽量把参数转换成数字,然后
当参数是 数字,返回 false
当参数不是数字,返回 true
在if里面,能用布尔值做条件判断的时候,不要用其他的来代替,因为强制数据类型的转换需要耗费时间
在两个值比较的时候,能用三等判断的时候,就用三等判断
if语句缩写:
真语句一行,假语句一行 三目运算 1. if(7 > 2)alert(5);
2. 9<4?alert("true"):alert("false");//条件?真语句:假语句;
当三目的真假语句都是给同一个变量赋值的时候,可以更近一步简写
3. a=8>4?8:4;
alert(a)
string 字符串
索引、下标、偏移量——从0开始
str[index];——通过索引取字符串
str.length;——获取长度 空格也算
value.toString();——转换字符串
str.substring();——截取字符串 会比较参数值的大小,小的参数在前面,负数变为0
str.slice()——切片,不会交换位置,负数从右到左数
str.split()——字符串切割,返回数组 ******
str.indexOf(“s”或“s”,4)——查找字符串,成功返回索引,反之返回-1 ******
str.toUpperCase()——全部转换大写
str.toLowerCase()——全部到小写
数组:
数组 主要存放数据的
arr.length
查看数组的个数
arr[]
可以读可写
arr.push
在后面添加 能同时添加多个值
arr.unshift()
在前面添加 能同时添加多个值
arr.pop()
删除数组的最后一个
arr.shift()
删除数组的第一个
arr.splice() ******
(3) 数组的长度;取前边四位
(0, 1) 从第0位开始删除一个,再将剩下的返回
(2, 3, 'a') 从第二位开始后面三位全部替换成 a
(2, 0, 'a') 第二位开始前面插入 a(不删除)
arr.sort() a-b 从小到大 b-a 从大到小
顺序来排序(ascll码排序)若按数字大小需要 arr.sort(function(a,b){return a-b;}) console.log(arr)
arr.reverse()
倒序排序
arr.join() *****
arr.join('a') 以`a`为界限拼接字符串
定义 数组: var arr = new Array();
或: var arr = 【1,2,5,6】 ,
Math 数学函数
Math.pow(16, 2)——十六的平方 256
Math.round(5.5)——四舍五入(整数)
Math.ceil(0.2)——向上取整
Math.floor(0.9)——向下取整
Math.max()——取参数中最大的值
Math.min()——取参数中最小的值
Math.random()——0-1的随机数[0,1) *****
Math.random()*m+n
生成 n ~ (m+n)
Math.PI——π
Math.abs()——求绝对值