js10---call方法总结
2024-08-26 07:23:44
<html>
<body>
<script type="text/javascript">
function Obj(x, y){
this.x = x ;
this.y = y ;
this.say = function(){
this.name = "aaa";//不是生成对象的属性
gg = "gg";//不是生成对象的属性
}
} var o = new Obj(10,20);
alert(o.name);//undefined
alert(o.gg);//undefined function p(){
this.age = "age";
alert("pppp");
}
p.call(o);//就这里一行代码o有p方法,语句执行完o就没有p方法了,属性一直还存在。
o.p();//o.p is not a function,o有p方法只有一次,上面语句执行完o就没有p方法了,属性还存在。
alert(o.age);//age,p.call(o)把函数类的属性加进对象o中 function p1(){
this.sch = "sch";
alert("p1");
}
o.p1();//o.p1 is not a function,不能这样加,只能通过call来动态加一次
alert(o.sch) function Person(name,age){
this.sch = "sch";
alert("p1");
}
function New(f){
var o = {};
return function(){
f.apply(o); //就这一行,o拥有了p方法,出了这一行就没有p方法了,但是o还是有p函数中定义的属性
return o;
}
}
var new1 = New(Person)();
new1.Person();//new1.Person is not a function,
alert(new1.sch);//sch
</script>
</body>
</html>
最新文章
- 未能添加对***.dll的引用 问题解决方法
- php相册功能实现(包含php图片上传,后台管理,浏览和删除)教程例子
- 如何将C++代码逆向生成类图 (VS2013)
- 使用my exclipse对数据库进行操作(4)
- babel 配置探究及错误解析
- 数据库表被锁表,select会等待。
- 数据库连接工具类 数据库连接工具类——仅仅获得连接对象 ConnDB.java
- android 77 fragment
- mac svn命令
- [RxJS] Transformation operator: buffer, bufferCount, bufferTime
- zabbix 组信息
- HMM模型详解
- Java语言实现二分法
- 分布式系统关注点(15)——「水平&;垂直切分」详解
- ubuntu 切换到ROOT权限
- lambda 和 iterable
- python pip NameError:name &#39;pip&#39; is not defined”
- [leetcode]Path Sum @ Python
- windows环境下mongodb下载、安装和使用总结
- 月报 提取/保存 到OneDrive. 并发送反馈邮件
热门文章
- COGS——T 1215. [Tyvj Aug11] 冗余电网
- Oracle运行set autotrace on报错SP2-0618、SP2-0611
- arcgis engine 获取高亮Feature、element
- Android Recovery OTA升级(一)—— make otapackage
- C++对象模型——效率有了,弹性呢(第七章)
- Effective C++ Item 30 inline里里外外
- Vsftp问题及解决办法汇总(持续增加中)
- BZOJ 1230 Usaco2008 Nov 开关灯 线段树
- VS Code在本地进行调试和打开本地服务器
- 学习推荐《从Excel到Python数据分析进阶指南》高清中文版PDF