js 面向对象部分内容
来源:互联网 发布:网络情歌2015 编辑:程序博客网 时间:2024/06/05 23:04
最近在做关于js的面向对象的编程题目,但是感觉思维混乱,无从下手,于是总结一些从书上看到的内容,理理思绪。
prototype
每一个函数都包含一个prototype属性,它指向了一个对象的应用,这个对象称为原型对象。每一个函数都包含不同的原型对象。当将函数用作构造函数的时候,新创建的对象会从原型对象上继承属性。
call和apply
我们可以将这两种方法看成是某个对象的方法,通过调用方法的形式来间接调用函数。这两个方法的第一个实参是要调用函数的母对象,它是调用上下文,在函数体内通过this来获得对他的引用。要想以对象A的方法来调用函数 f 可以这样使用:
f.call(A);
f.apply(A);
在ECMAScript 5的严格模式中这两个方法的第一个实参都会变成this的值,那怕传入的实参是原始值,甚至null或者undefined。在非严格模式中,传入的null或者undefined都会被全局对象代替,而其他原始值则会被相应的包装对象所代替。
而call方法在第一个实参后所有的参数z都是要传入呆调用函数的值
而apply方法会把这些值全部放入一个数组中。
bind
是在ECMAScript 5中新增的方法,主要作用就是将函数绑定至某个对象。当在函数F上调用bind方法并传入一个对象做参数,这个方法会返回一个新的函数。当以函数调用的方式调用新函数将会把原始的函数F当做对象的方法来调用传入新函数的任何实参都将传入原始函数。
使用new方法调用构造函数生成实例时,new的工作流程大概如下:
1.分配一个新的空对象.
2.设置新对象的相关属性、方法,例如继承Robot.prototype上的各式方法、属性。注意,这里执行的并不是拷贝,而是类似于引用的方法,称为代理(比如Robot.prototype对象的属性发生变化时,由Robot生成的实例对象直接继承的相应属性也会变化)。
3.将这个新对象作为构造函数的执行上下文(其this引用指向这个新的对象),并执行构造函数.
4.返回这个对象到执行new Robot("bower")的位置,赋值给前面的变量名.
创建的构造函数,函数名第一个字母一定要大写,本菜在瞎编的时候由于没有大写耽误不少时间
- js 面向对象部分内容
- C++面向对象部分内容总结
- js 打印页面部分内容
- js打印网页部分内容
- js面向对象尝试
- js面向对象
- 面向对象的js
- js中的面向对象
- JS面向对象
- JS面向对象2
- 06 JS面向对象
- JS 面向对象
- JS面向对象例子
- 面向对象 js 打包
- js面向对象设计
- js面向对象
- js--面向对象
- js面向对象总结
- 一个字母引发的血案 java.io.File中mkdir()和mkdirs
- address
- 使用rpm -qi gcc命令来获取gcc包的版本,安装日期等信息
- DataTime.Compare()进行时间比较
- 5 中文乱码问题
- js 面向对象部分内容
- 掌握19条命令,熟练使用Linux操作系统
- linux下安装tomcat和jdk
- 将基本数据提升为对象的应用
- sqlserver多条件查询select语句合并
- 开放式系统功能的回归测试
- Html编辑器使用注意事项
- mysql数据库插入中文乱码
- js页面跳转