美文网首页
Javascript 基础知识

Javascript 基础知识

作者: happywind | 来源:发表于2016-03-27 18:27 被阅读13次

    1. Javascript 有6种数据类型:(隐式转换就不说了,太简单了)

    --5种原始类型:Number String Boolean Null Undefined

    --1种对象类型:Object(array, function, Date ...)

    2. Javascript 没有块级作用域 

    for (var i = 0; i < 10; i++){};  // i 定义括号里,定义在 block 里,和定义在 for 外边是一样的!!

    但是有函数作用域

    function foo(){ var a = 1; }  // a 在 foo 函数外部是访问不到的

    3. 函数声明 (function foo(){}) 和函数表达式( var foo = function (){} )的区别:

    函数声明会被预先处理,即函数前置,可以在声明的前面直接调用函数

    4. for in 谨慎使用,顺序不确定,对象属性受原型链影响

    5. 对象创建: a. 对象字面量  b. new 原型链

    var child = Object.create(obj)  // 指在 child 对象的 原型上创建一个 obj 对象,即 child.prototype = obj  

    6. func.call/func.apply 可以改变 this 的指向, 他们的第一个参数就是你想要 this 是的对象,两个方法没有区别,无非 call 是一个一个传参,apply 是传一个参数数组。

    还有一个 bind() 方法,func.bind(obj) 参数就是你想作为 this 的对象,比 call/apply 高效

    7. 闭包的优点:灵活方便(参数传递),还可以用闭包来做封装

        闭包的缺点:当函数被调用后无法释放其中的变量,所以不合理的闭包会产生空间浪费,甚至内存泄漏,性能消耗

    相关文章

      网友评论

          本文标题:Javascript 基础知识

          本文链接:https://www.haomeiwen.com/subject/hoqjlttx.html