es5核心技术

立即执行函数

    (function () {
        console.log(111)
    })()

函数提升和变量提升

    var a = 12;
    (function () {
        var a = 13;
        function a(){

        }
        console.log(a)//13
    })()
//function 声明在变量之前

闭包

//闭包形式
function out(){
    var a = 12;
    function inside(){
        a++;
        console.log(a)
    }
    return inside;
}
var global = out();
global()//13
global()//14
//闭包概念 函数被调用在他所在的词法作用域之外,保留了对原词法作用域的引用,形成了闭包
//好处  模块化开发 实现私有变量 避免全局变量的污染
//缺点  造成内存泄漏  需要将引用变量 = null

this

var a = 13;
var test = {
   a :12,
   init:function (argument) {
       console.log(this.a)
   }
}
test.init()//12  this指向test
var global = test.init;
global()//13    this指向window
//this  指针 谁调用指向谁
//改变this指针 call apply bind  
//call  参数直接,,,  apply 参数数组  bind返回新函数 this不能再被改变  未执行

原型链实现继承

function Person(name){
    this.name = name;
}
Person.prototype.speak = function(){
    console.log("我叫"+this.name)
}

function Student(){
    Person.call(this);
}

Student.prototype = Object.caeate(Person.prototype)
Student.prototype.constructor = Student;
//对象的_proto_指向创造函数的原型对象最终_proto_指向Object.prototype
//函数的原型对象是 有constructor 和 各种原型上的方法  construtor函数是构造函数本身 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 10,646评论 0 21
  • 继承 一、混入式继承 二、原型继承 利用原型中的成员可以被和其相关的对象共享这一特性,可以实现继承,这种实现继承的...
    magic_pill阅读 4,702评论 0 3
  • 放眼一生,已经是上有老下有小; 回顾今年,和医院打交道耗了我不少精力体力; 放眼未来,必须承担起家人的保健工作。 ...
    勋姐阅读 851评论 0 0
  • 有一匹年轻的千里马,在等待着伯乐来发现它。 商人来了,说:你愿意跟我走吗?我带你走遍名山大川!马摇摇头说:我是千里...
    游帅来也阅读 1,547评论 0 0
  • 最近其实一个在纠结一个问题,自己到底是个投资者还是一个投机者,思考了很久,最后发现其实就像任何事情都有两面性一样,...
    逆向学习阅读 2,555评论 0 0