js的函数为什么也是对象,函数怎么自定义方法和属性?<js权威指南>中说对象的方法通常是继承的属性

如题所述

这不是很方便吗?这样就可以直接被函数做参数传到需要回调的其他函数中使用,java中的接口调用需要实例化,js就不需要了呀。
函数自定义方法,其实可以把你说的函数看做java中的类。比如:
function Example(name){this.name=name}
Example.prototype.setName=function(name){
this.name=name;
return this;
}
Example.prototype.getName=function(){
return this.name;
}
new Example('name').getName();//name
new Example('name').setName('name1').getName();//name1
无论是js中的Array,String……都有类似的prototype类型描述对象,当这些类型实例化以后可直接调用prototype中定义的方法或属性,也可覆盖。在实例化中prototype会被简单化成__proto__对象,可以通过console.log进行观察。关于继承,所有的js对象都有一个顶级的被继承对象,Object,方法有很多,通常被提到的就是定义类型函数时给prototype赋个你想继承的类型的实例化object,但这种方法很蠢,自己看书,搜索,实践吧,手机打字太累了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-02-17
function aa(){} 这样的合适创建函数

...对象 什么是 对象 什么是构造函数 什么是方法呀 ?好纠结 不懂_百度...
对象就是东西,js中最基本的东西是内置的object 对象可以有方法,可以有属性 2、构造函数 是创建对象时初始化对象 的函数,就好比对象工厂,用于规定对象的基本属性和方法。3、属性和方法 属性就是对象的特点,比如一张桌子有四条腿,一个面。可以这样声明 var table={} \/\/定义对象时{}和new Object(...

js权威指南总inherit函数中为什么要先执行function f(){}
继承方法应该类似以下函数:function inherit(Child, Parent) { function F() {}; \/\/ 定义一个临时函数 F.prototype = Parent.prototype; \/\/ 把父类的原型赋给临时函数的原型 Child.prototype = new F(); \/\/ 把子类的原型赋值为f的对象 } 这样做可以保证子类只从父类继承来自原型的成员,而不...

通过javascript执行链获取上下文对象
b.函数执行上下文的this(主要讲函数的this) 在《JavaScript权威指南》中有这么几句话:1.this是关键字,不是变量,不是属性名,js语法不允许给this赋值。2.关键字this没有作用域限制,嵌套的函数不会从调用它的函数中继承this。3.如果嵌套函数作为方法调用,其this指向调用它的对象。4.如果嵌套函数作为函数调用,其this...

不懂急,请问javascript对象的问题?
每个对象有它自己的属性、方法和事件。对象的属性是反映该对象某些特定的性质的,例如:字符串的长度、图像的长宽、文字框(Textbox)里的文字等等;对象的方法能对该对象做一些事情,例如,表单的“提交”(Submit),窗口的“滚动”(Scrolling)等等;而对象的事件就能响应发生在对象上的事情,例如提交表单产生表单的“提交事件...

javascript 变量问题(二)当全局(在先)与局部(在后)共存于一个函数...
对js来说<script><\/script>之间的function都是平等的。都是window.functionName;它们在执行前都平等的享有函数体外的变量(全局变量)的权利,即就是初始的全局变量在它们的体内都是相同的(如果这个函数使用了全局变量);只有在函数执行的时候才能 <自己> 修改变量的值(包括局部和全局的)其他地方都不...

浅谈js基本数据类型和typeof
实际上,在JavaScript中,函数是一个极容易引起误解或引发歧义的数据类型,它可以是独立的函数类型,又可以作为对象的方法,也可以被称为类或构造器,还可以作为函数对象而存在等。所以,在《JavaScript权威指南》中把function被看做是object基本数据类型的一种特殊对象,另外《悟透JavaScript》和《JavaScript...

我有一点基础,想跟好的学css和js有推荐的书么?拜托~谢谢大家
学这个的话我觉得在网上看教程其实就行了,比如比较有名的w3school在线教程、w3cschool在线教程(这个比较商业化)、菜鸟教程,里面有很多计算机编程言语的教程,包括前端部分的HTML5、css3和js等,当然js如果要往更高阶的地方学习的话,还可以推荐去看看大神廖雪峰写的廖雪峰教学,还有阮一峰的JavaScript标准...

js中toString和valueOf的区别
toString 方法是一个所有内置的 JavaScript 对象的成员。 它的行为取决于对象的类型:2.valueOf:返回指定对象的基元值。语法:object.valueOf( )object 引用是任何内部 JavaScript 对象,将通过不同的方式为每个内部 JavaScript 对象定义 valueOf 方法。Math 和 Error 对象都没有 valueOf 方法。总结:...

javascript入门?
代码中的错误因为JavaScript是采用动态编译的而动态编译是不易发现代码中的错误特别是变量命名的方面对于变量还有一个重要性──那就是变量的作用域在JavaScript中同样有全局变量和局部变量全局变量是定义在所有函数体之外其作用范围是整个函数而局部变量是定义在函数体之内只对其该函数是可见的而对其它函数则是不可见的三...

JavaScript书籍推荐(javascript书籍推荐知乎)
js的书籍可以看《javascript权威指南》和《javascript高级程序设计语言》《javascript语言精粹》都是不错的书,也是前端开发需要掌握的知识。学javascript需要什么基础 Javasctipt简称Js,学习Js之前建议你先学习一下HTML+CSS,因为Javascript的基本操作是控制html的标签以及css的属性,实现各式各样的动态功能。千锋教育就有线上...

相似回答