发布网友 发布时间:2022-04-22 17:05
共2个回答
热心网友 时间:2023-11-05 16:35
undefined表示变量声明但未初始化时的值。
null表示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针。
alert既然弹出了,那么程序是没有问题的,空白应该就是弹出值是空的,如:
var t="";变量是一个空值!
希望对你有帮助,望采纳!
热心网友 时间:2023-11-05 16:36
变量值为空,例如 “”这种追问var obj1 = {
name:'obj1' ,
fn:function(){
alert(this.name)
}};
var obj2 = {name:'obj2'};
var obj3 = {name:'obj3'};
obj1.fn(); //obj1
var newFn = obj1.fn;
newFn(); //undefined??
newFn() alert出的是空白不明白。
追答第一次调用是作为obj1的方法调用,所以this指向的是obj1,所以this.name
是obj1.
第二是调用你是把fn赋值给newFn,这时候newFn是一个普通的函数,newFn()执行时this指向的是window,你可以在控制台运行一下window.name,会返回一个空字符串