Javascript中的方法,在声明的时候都做了些什么?
如
function func(a){
this.a = a;
}
f会自动分配一个prototype属性,这个prototype属性是个对象,这个对象只有一个constructor属性,而这个constructor属性指向func
也就是说,当声明了一个方法,那么这个方法就有以下关系
alert(func === func.prototype.constructor);
那么用new创建一个对象又做了些什么呢?
var f = new func("a");
1.创建一个没有任何属性的空对象。 ...
- 16:06
- 浏览 (241)
- 评论 (0)
- 分类: Javascript
先看代码
alert(typeof null); //object
alert(typeof Object.prototype); //object
alert(null instanceof Object); //false
alert(Object.prototype instanceof Object); //false
从结果可以看出,null和Object.prototype都不是对象。
alert(typeof Function.prototype);
alert(Function.prototype instanceof Function); ...
- 13:22
- 浏览 (221)
- 评论 (0)
- 分类: Javascript
prototype是javascript中的重中之重。
先用例子来说话
function f1(a){
this.a = a;
}
function f2(b){
this.b = b;
}
function f3(c){
this.c = c;
}
function f4(d){
this.d = d;
}
f3.prototype = new f4("d");
f2.prototype = new f3("c");
f1.prototype = new f2("b");
var f = new f1("a");
...
- 11:51
- 浏览 (253)
- 评论 (0)
- 分类: Javascript
先看个实例:
func1();
var a = "hello";
function func1(){
var b = "world";
b = a;
alert(b);
if(false){
var a = "hahaha";
}
}
这里有两个问题
1.为什么func1在声明前也可以运行
2.为什么alert(b)会显示未定义“undefined”
要解释这两个问题,只要知道两点就可以。
1.javascript在运行前会有预编译期,会把声明提前(不管这个生命是否真的会运行)
2.局部变量的优先权大于全局变量
所以这个代码的顺序 ...
- 11:45
- 浏览 (217)
- 评论 (0)
- 分类: Javascript
- 浏览: 11604 次
- 性别:

- 来自: 黑洞

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
打破时间的束缚(转)
我对以下方面有一些疑虑:1、如何降低协作的成本、加快沟通的速度?2、是否每个人的 ...
-- by outrace -
打破时间的束缚(转)
weiqingfei 写道ouspec 写道这样做会使协作成为问题,比如大家需要 ...
-- by zerker -
打破时间的束缚(转)
ouspec 写道这样做会使协作成为问题,比如大家需要同时来做一件事情的,同时在 ...
-- by weiqingfei -
打破时间的束缚(转)
这样做会使协作成为问题,比如大家需要同时来做一件事情的,同时在线沟通是很重要的。 ...
-- by ouspec -
打破时间的束缚(转)
他们这样做是对的,工作业绩是以成果论的,这是所有工作的共同特点。 只不过表现形式 ...
-- by flyingbug






评论排行榜