扩展资料:
javascript是一个单线程的语言,但是可以通过代码调度在特定的时间运行。
对于js而言,每个实例化的对象都有以下的方法和属性(也就是说共有的,既然共有那麽就是在原型上的了):
(1):constructor,constructor被用来创建对象,比如 var o = new Object()那么constructor 就是 Object()函数。
(2):hasOwnProperty(propertyname),这表明如果一个实例化的对象(不是原型)存在给定的属性;注意的是属性名必须是字符串的形式。
(3):isPrototypeOf(object),判定一个对象是否是另一个对象的原型。
alert(Person.prototype.isPrototypeOf(person1))//true
alert(Person.prototype.isPrototypeOf(person2))//true
(4):propertyIsEnumerable(propertyname), 一个给定的属性可以用for-in语句枚举;同hasOwnProperty()一样,属性名必须是字符串。
(5):toString():返回对象的字符串形式
(6):valueOf():返回一个等于对象的字符串,布尔,字符串的值;这个经常返回和toString()一样的值。
js中对象一般由属性和方法组成。
js对象的分类:
1、内置对象:
由ES标准中定义的对象,比如:Object、Math、Date、String、Array、Number、Boolean、Function等。
2、宿主对象:
由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象。比如 BOM DOM。比如console、document。
3、自定义对象:
自己创建的对象,通过 new 关键字创建出来的对象实例。
扩展资料:
js原型对象的作用:
1、在js的所有内置对象中都存在prototype原型属性。
2、在js的内置对象的原型属性中,追加方法,那么该方法会自动追加到内置对象中。
3、js的原型属性最终的目的是给内置对象追加方法。
使用方式:
function Array(){
//创建一个原型对象
this.prototype(原型属性) = new Prototype()
//自动追加
this.seach = function(target){
...
}
}
function Prototype(){
this.seach = function(taget){
...
}
1、首先创建两个文件,一个jstest.html,一个jstest.js文件。
2、打开html在里面引入jstest.js。
3、打开jstest.js文件,创建一个方法aa。
4、然后接着使用if(typeof aa=="function")判断如果aa方法存在就提示"aa方法存在",否则弹出"aa方法不存在",明显aa是存在的。
5、接着使用if(typeof cc=="function")判断如果cc方法存在就提示"cc方法存在",否则弹出"cc方法不存在",因为我们没有定义cc这个方法,所以cc不存在。
6、打开jstest.html,第一会提示,“aa方法存在”。