运算符
-
算数运算符:+,-,/,%,++,--,(累加计算),**(幂)
-
i++和++i的区别?
-
++是运算符,如果++在变量的前面则先计算然后再赋值,则值是计算后的值。
-
如果++在变量的后面,先把变量的旧值拿出来使用,最后在计算出新的值再赋值。
-
总结:i++先赋值后计算,++i是先计算后赋值。
-
逻辑运算符:==,===,!,||,&&
-
!求反,!true=>false
-
||或,左边如果为true则使用左边的值,否则使用右边的值
-
&&与,如果左边的值是假的,就终止执行了,必须左边的和右边的的值都为true条件才成立
-
==等于,只判断值,不判断类型【他偷偷的做了数据的隐式转换】
-
===全等,值和类型都相等【推荐在程序中使用它做判断】
条件语句
-
if
-
switch
-
三元运算符
三者的区别
-
if和switch没有返回值,三元运算符有返回值
-
语法不一样
-
三元运算符虽然有返回值可以有更多的使用场景,但是缺点是阅读不方便
函数
普通函数 声明函数:function name (){}
-
函数可以提升,整个函数会提示
匿名函数 function(){}
函数表达式 var name =function(){}
-
如果用var接受匿名函数,只会提升变量,不会提升函数
函数自由属性
-
arguments不定参数-伪数组
-
name获取函数的名字
函数作用域
function里的this指向它声明的作用域里顶级对象,如果函数是绑定给dom事件的,那么this是dom对象。如果函数是声明在全局作用域里,this是window
什么是函数? 什么方法?
-
函数是独立的一个函数,该函数可以被直接调用
-
方法是指函数归属于一个对象,使用对象点函数的方式调用,这个函数叫方法
-
回调函数
-
把函数作为参数传给另一个函数
闭包
-
就是常驻内存的一个值,这个值默认不会被释放,但是这个值还不会污染全局作用域
-
被垃圾回收机制忽略的值,所产生的内存占用也叫闭包
-