js的基础知识

143 阅读2分钟

运算符

1.算术运算符:+, -, ,/,%, ++, --, +(累计计算),**(幂) - i++和++i的区别? - ++是运算符,如果++在变量的前面则先计算然后再赋值,则值是计算后的值 - 如果++在变量的后面,先把变量的旧值拿出来使用,最后再计算新值再赋值 - 总结:i++先赋值后计算,++i是先计算后赋值 2.逻辑运算符:==,===,!,||,&& - !求反,!true=>false - ||或,左边如果为true则使用右边的值,否则使用右边的值 - &&与,如果左边的值是假的,就终止执行了,必须左边和右边的值都为true条件才成立 - ==等于,值判断值,不判断类型【它偷偷的做了数据的隐式转换】 - ===全等,不光判断值,还判断数据类型【推荐在程序中使用它做判断】

条件语句

1.if: 2.switch: 3.三目运算符/三元表达式/三元运算符:

三者的区别

1.if和switch没有返回值,三目运算符有返回值 2.语法不一样 3.三目运算符虽然有返回值可以有更多的使用场景,但是缺点是阅读不方便

位运算符:先把左右的十进制转成二进制之后再计算

1.&按位与 2.|按位或 3.^按位异或 4.~按位非 5.<<按位左移 6.>>按位右移 7.>>>按位右移零

函数

普通函数又叫声明函数:function name(){}

-函数可以提升,整个函数会提示

匿名函数function(){}

函数表达式var name=function(){}

-如果var接收匿名函数,只会变量提升,不会提升函数

自执行函数(function(){})()或function(){}())

函数自有属性

-arguments不定参数-为数组 -name获取函数的名字

函数作用域

function里的this指向它声明的作用域里顶级对象,如果函数是绑定给dom事件的,那么this是dom对象,如果函数是声明在全局作用域里,this是window

什么是函数?什么方法?

-函数是指独立的一个函数,该函数可以被直接调用 -方法是指函数归属于一个对象,使用对象函数的方式调用,这个函数叫方法

回调函数

-把函数作为参数传给另一个函数

闭包

  • 就是常驻内存的一个值,这个值默认不会被释放,但是这个值还不会污染全局作用域
  • 被垃圾回收机制忽略的值,所产生的内存占用也叫闭包