懵懵懂懂,好像是听懂了吧~~~
function fn(){
var obj = {};
obj.a = 10;
obj.b = 20;
obj.c = function(){
return obj.a + obj.b;
}
}
数组是对象的子集,对象包含数组。
函数是对象的子集吗?
1.所有的函数都有prototype属性,该属性是一个对象。
2.所有的对象都有一个proto属性,该属性也是一个属性。
3.假如一个函数没有任何属性的话,prototype对象,默认有个constructor属性
function fn(){
fn.prototype.name = 'labixiaoxin';
fn.prototype.age = 4;
fn.prototype.star = function(){
}
}
var fn2 = new fn();//fn2为子类,继承父类fn的一些属性
fn2.star();
1.从fn方法里面new出来一个实例;
2.将方法转化为对象。
__proto__ 指向创建当前对象的函数prototype
var fn = function(){};
var obj = new fn();
fn.prototype.age = 10;
fn.prototype.age = 100;
值类型//可以直接使用
var str = ‘123’;
引用类型//不能直接使用
var arr = [0,1,2];
var arr2 = [1,2,3,4]
var arr = new Array();
arr[0] = 1;
console.log(Array.prototype);
hasOwnProperty // 查看私有属性
this:
在全局作用域下调用this this指向global 也就是window;
new关键词创建的对象,this指向创建该对象的函数;
this当时的函数为对象属性的时候,this指向该对象。
var obj = {
x :10;
y :20;
fn1 : function(){
this.x = 20;
}
}
obj.fn1();
console.log(obj.x);
