js高级
奔跑的飞
学海无涯!
展开
-
JavaScript 面向对象编程
ECMAScript-262 把对象定义为:无序属性的集合,其属性可以包含基本值、对象或者函数。 什么是对象? 1.对象是单个事物的抽象 一本书、一辆汽车、一个人都可以是对象,当实物被抽象成对象,实物之间的关系就变成了对象之间的关系,从而就可以模拟现实情况,针对对象进行编程。 2.对象是一个容器,封装了属性(property)和方法(method)。 属性是对象的状态,方法是对象的行为(完成某种...原创 2019-03-02 12:54:56 · 130 阅读 · 0 评论 -
原型
JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象。 这个对象的所有属性和方法,都会被构造函数的所拥有。 我们可以把所有对象实例需要共享的属性和方法直接定义在 prototype 对象上 function Person (name, age) { this.name = name this.age = age } console.log(Pers...原创 2019-03-02 19:55:07 · 179 阅读 · 0 评论 -
继承
继承 什么是继承 现实生活中的继承 程序中的继承 对象的继承 // 继承演示(对象的继承) function extend(child, parent) { for (var key in parent) { if (child[key]) continue; // 如果child中有该成员,不替换成parent对象中的成员 child[key] = parent[key...原创 2019-03-11 12:33:16 · 100 阅读 · 0 评论 -
函数进阶
函数的定义方式 函数声明 function foo () { } 函数表达式 var foo = function () { } new Function 函数声明与函数表达式的区别 函数声明必须有名字 函数声明会函数提升,在预解析阶段就已创建,声明前后都可以调用 函数表达式类似于变量赋值 函数表达式可以没有名字,例如匿名函数 函数表达式没有变量提升,在执行阶段创建,必须在表达...原创 2019-03-11 12:44:56 · 161 阅读 · 0 评论 -
函数进阶
函数的调用方式 普通函数 构造函数 对象方法 函数内this指向的不同场景 函数的调用方式决定了this指向的不同: 调用方式 非严格模式 备注 普通函数调用 window 严格模式下是 undefined 构造函数调用 实例对象 原型方法中 this 也是实例对象 对象方法调用 该方法所属对象 紧挨...原创 2019-03-11 13:28:17 · 148 阅读 · 0 评论