欢迎大家讨论下:愿意创建Object还是Function对象?什么情况下愿意?为啥呢?
解决方案 »
- js把table保存到excel中代码怎么写。
- 求助梅花大侠的Tree后遇修改数据库后无法显示的怪问题
- 如何实现文件下载
- 如何动态改变TreeLoader中dataUrl的值---急
- 用js怎么返回一个iframe 的left 和top值啊?
- [求解] JavaScript怎样实现对图片的剪裁?
- 请问怎样调用打印机打印某个表格的内容(用js)
- table中插入一个cell(var tc = a.insertCell();)后如何设置它的bgcolor(背景色)?
- 如何获得网页中一id为id1标记在网页中显示的位置。
- 文件上传控件的赋值问题
- showbo大神,帮我看看样式问题
- Javascript的前台与后台
name:'xiaohuang',
sex:'man'
};
people.getName = function() {
return this.name;
}people.changeSex = function() {
var sex = this.sex;
if(sex === 'man'){
this.sex = 'women';
}
else if(sex === 'women'){
this.sex = 'man';
}
else {
this.sex = 'I\'m sorry';
}
}
或者:function people(){
this.name = 'xiaohuang';
this.sex = 'man';
};
people.prototype = {
getName: function() {
return this.name;
},
changeSex:function() {
var sex = this.sex;
if(sex === 'man'){
this.sex = 'women';
}
else if(sex === 'women'){
this.sex = 'man';
}
else {
this.sex = 'I\'m sorry';
}
}
};
var test = new people();
Object不能再使用new创建对象实例,可以赋值给其他变量,多个变量同时引用一个对象,或者克隆对象
Function可以使用new创建多个对象实例,使用时互不影响,但是使用内存也会更多
继承
Object无法继承,除非用复制的方式来实现
Function可以实现
toString和valueOf
Object,如果你不实现它的代码,别人无法通过toString、valueOf查看到你的代码
Function默认情况下,toString、valueOf是可以看到function的代码的
prototype原型问题
给Object原型增加方法或属性,new function出来的对象也同样有这样的方法——因此这是扩展通用对象功能的好地方
给Function原型增加方法或属性,Object实例对象不会有这些方法和属性
String、Number、Boolean对象不支持引用传递。
prototype原型问题
给Object原型增加方法或属性,Object实例对象不会有这些方法和属性
给Function原型增加方法或属性,new function出来的对象也同样有这样的方法——因此这是扩展通用对象功能的好地方