##运算符
算术运算符:+,-,,/,%,++,--,+(累计计算),**(幂)
- i++和++i的区别?
- ++是运算符,如果++在变量的前面则先计算然后在赋值,则值是计算后的值。
- 如果++在变量的后面,先把变量的旧值拿出来使用,最后再计算出新值再赋值。
- 总结:i++ 先赋值后计算,++i是先计算后赋值。
2. 逻辑运算符:==,===,!,||,&&
- !求反,!true => false
- || 或,左边如果为true则使用左边的值,否则使用右边的值
- && 与,如果左边的值是假的,就终止执行了,必须左边的和右边的值都为true条件才成立
- == 等于,只判断值,不判断类型【它偷偷的做了数据的隐式转换】
- === 全等,不光判断值,还判断数据类型【推荐在程序中使用它做判断】
##条件语句
- if
- switch
- 三目运算符/三元运算符/三元表达式
三者的区别
- if和switch没有返回值,三目运算符有返回值
- 语法不一样
- 三目运算符虽然有返回值可以有更多的使用场景,但是缺点是阅读不方便
位运算符:先把左右的十进制转成二进制之后再计算
- & 按位与
- | 按位或
- ^ 按位异或
- ~ 按位非
- << 按位左移
- || 按位右移
- ||| 按位像右移零
##函数
普通函数》声明函数:function name () {}
- 函数可以提升,整个函数会提示
匿名函数》function () {}
函数表达式》var name = function () {}
- 如果用var接收匿名函数,只会提升变量,不会提升函数
自执行函数》(function(){})() 或 function(){}()
函数自有属性
- arguments 不定参数-伪数组
- name 获取函数的名字
函数作用域
function里的this指向它声明的作用域里顶级对象,如果函数是绑定给dom事件的,那么this是dom对象,如果函数是声明在全局作用域里,this是window。
什么是函数?什么方法?
- 函数是指独立的一个函数,该函数可以被直接调用
- 方法是指函数归属于一个对象,使用对象点函数的方式调用,这个函数叫方法