“var snoopy = new Dog("snoopy");”到底做了什么
来源:互联网 发布:sql通配符的使用 编辑:程序博客网 时间:2024/05/21 18:45
function Dog(name){this.name = name;}
var snoopy = new Dog("snoopy");
alert("name:" + snoopy.hasOwnProperty("name"));
输出结果是“true”,这就意味着name仅仅是对生成象的成员而不是原型prototype的成员,刚开始对这个结果有些费解,仔细想想有道理,当function用作构造函数的时候this指向的是生成对象啊,想为原型增加成员得如下才可以
<span style="white-space:pre"></span>Dog.prototype.tail = true;alert("tail:" + snoopy.hasOwnProperty("tail"));
那么实际上
var snoopy = new Dog("snoopy"); 做了如下工作:
1.从Object生成了一个对象
2.然后为这个对象增加了一个成员变量name
3.又把参数name赋值给this.name
0 0
- “var snoopy = new Dog("snoopy");”到底做了什么
- snoopy
- snoopy
- snoopy
- snoopy
- snoopy
- snoopy
- snoopy
- snoopy
- snoopy
- Snoopy
- Snoopy
- Snoopy
- Snoopy
- new到底做了什么
- new 一个对象到底做了什么?
- new Simulator 到底做了些什么
- java new 关键字到底做了什么?
- 小文件存储推荐系统
- Ubuntu 卸载Django
- 数据结构——线性表的删除
- 阿里的笔试题
- POJ2367Genealogical tree拓扑排序&前向星
- “var snoopy = new Dog("snoopy");”到底做了什么
- [Android]获取未安装的APK图标
- 护卫队
- man exit _exit
- poj 3669 Meteor Shower(广度优先搜索)
- jsp 自定义标签 一 简单示例
- 黑马程序员-java_Properties_Runtime
- xp任务栏不显示任务 vbs脚本
- 设计模式