2018-05-01

编译和解释的优缺点

编译快 跨平台不好 c c++ 解释 快 跨平台 js php java oak
单线程 动画的时候轮转时间片 将动画一点点切割送往js引擎 js引擎执行

浏览器内核

1.chrome webkit/blink safari webkit
2.IE trident
3.firefox Gecko
4.opera presto

类型转化

typeof(NaN) == number; typeof 返回的都是字符串的类型 未经声明的变量放在typeof
不报错

var x = 1;
    if(function f(){}){
        x+=typeof f;
    }
    console.log(x)//1undefined

函数

1.声明 表达式忽略名字 var demo = function test(){} demo.name = test demo.lengthx形参的长度 arguments 初始化映射 如果没传的化 就不会改变 undefined

  function test(a,b){
      a = 3;
      b = 2;
      console.log(arguments)
  }
  test(1)

2.递归 找规律 找出口
3.预编译
函数声明整体提升
变量声明提升//函数声明就不用看了,因为已经变量提升了
过程 1)创建AO对象( 执行期上下文)AO{ }
2)把形参和变量声明的名作为对象的属性名 值为undefined
3)实参和形参相统一
4) 将函数名当做对象的属性名 若有则将函数体覆盖为值
注意点
if里不能声明function
typeof(a)=="undefined"

你可能感兴趣的:(2018-05-01)