[color=green][size=large][b]一、用法[/b][/size][/color]
[color=brown]undefined 关键字有两种用法:[/color]
[b]1. 如果一个 javascript 对象不具有某个属性,则返回 undefined。(反之不成立)[/b]
但是 a 并不拥有 name 属性:
[b]2. 用来判断 一个 javascript 对象某个属性的值 是否为 undefined[/b]
如果对 a 使用赋值操作符(=)赋值为 undefined 时,则 a 将拥有这个属性。
[color=green][size=medium][b]二、举例[/b][/size][/color]
[color=green][size=large][b]三、与 delete 对比[/b][/size][/color]
undefined 是用来判断 javascript 对象某个属性的值 是否 为 undefined,
但不能判断 javascript 对象 是否拥有 某个属性。
[color=brown]如果 javascript 对象 不拥有某个属性,也会返回 undefined 。[/color]
用来将某属性的值设置为 undefined,而不能用来删除某个属性。
[b]delete 是用来删除 某个属性的:[/b]
—————————————
javascript 函数基础系列文章
[url=http://lixh1986.iteye.com/blog/1955314]1、JavaScript之变量的作用域[/url]
[url=http://lixh1986.iteye.com/blog/2028899]2、javascript之变量类型与变量声明及函数变量的运行机制[/url]
[url=http://lixh1986.iteye.com/blog/2317065l]2.1、javascript 之 undefined [/url]
[url=http://lixh1986.iteye.com/blog/1947017]3、javaScript之function定义[/url]
[url=http://lixh1986.iteye.com/blog/1896682]4、javascript之function的prototype对象[/url]
[url=http://lixh1986.iteye.com/blog/1891833]5、javascript之function的(closure)闭包特性[/url]
[url=http://lixh1986.iteye.com/blog/1960343]6、javascript之function的this[/url]
[url=http://lixh1986.iteye.com/blog/1943409]7、javascript之function的apply(), call()[/url]
___________
javascript 面向对象编程系列文章:
[url=http://lixh1986.iteye.com/blog/1958956]1、javaScript之面向对象编程[/url]
[url=http://lixh1986.iteye.com/blog/2332467]2、javascript之面向对象编程之属性继承[/url]
[url=http://lixh1986.iteye.com/blog/2348442]3、javascript之面向对象编程之原型继承[/url]
-
-转载请注明出处:
http://lixh1986.iteye.com/blog/2317065
-
引用:
[url]http://stackoverflow.com/questions/14967535/delete-a-x-vs-a-x-undefined[/url]
[color=brown]undefined 关键字有两种用法:[/color]
[b]1. 如果一个 javascript 对象不具有某个属性,则返回 undefined。(反之不成立)[/b]
//
var a = {};
console.log(a.name); // undefined
console.log(a.name === undefined); // true
//
但是 a 并不拥有 name 属性:
//
a.hasOwnProperty('name'); // false
//
[b]2. 用来判断 一个 javascript 对象某个属性的值 是否为 undefined[/b]
var a = {};
如果对 a 使用赋值操作符(=)赋值为 undefined 时,则 a 将拥有这个属性。
//
a.name = undefined;
a.hasOwnProperty('name'); // true
console.log(a.name === undefined); // true
//
[color=green][size=medium][b]二、举例[/b][/size][/color]
var myObject = {
foo: "bar",
func: function() {
var self = this;
// bar
console.log("outer func: this.foo = " + this.foo);
// bar
console.log("outer func: self.foo = " + self.foo);
(function() {
//直接报错,因为 foo 未定义就使用。
//console.log("inner func: foo = " + foo);
//读取this的foo属性。如果没有则返回 undefined.
console.log("inner func: this.foo = " + this.foo);
// bar
console.log("inner func: self.foo = " + self.foo);
}());
}
};
myObject.func();
[color=green][size=large][b]三、与 delete 对比[/b][/size][/color]
undefined 是用来判断 javascript 对象某个属性的值 是否 为 undefined,
但不能判断 javascript 对象 是否拥有 某个属性。
[color=brown]如果 javascript 对象 不拥有某个属性,也会返回 undefined 。[/color]
用来将某属性的值设置为 undefined,而不能用来删除某个属性。
[b]delete 是用来删除 某个属性的:[/b]
//
var a = {};
a.name = undefined;
a.hasOwnProperty('name'); // true
delete a.name;
a.hasOwnProperty('name'); // false
//
—————————————
javascript 函数基础系列文章
[url=http://lixh1986.iteye.com/blog/1955314]1、JavaScript之变量的作用域[/url]
[url=http://lixh1986.iteye.com/blog/2028899]2、javascript之变量类型与变量声明及函数变量的运行机制[/url]
[url=http://lixh1986.iteye.com/blog/2317065l]2.1、javascript 之 undefined [/url]
[url=http://lixh1986.iteye.com/blog/1947017]3、javaScript之function定义[/url]
[url=http://lixh1986.iteye.com/blog/1896682]4、javascript之function的prototype对象[/url]
[url=http://lixh1986.iteye.com/blog/1891833]5、javascript之function的(closure)闭包特性[/url]
[url=http://lixh1986.iteye.com/blog/1960343]6、javascript之function的this[/url]
[url=http://lixh1986.iteye.com/blog/1943409]7、javascript之function的apply(), call()[/url]
___________
javascript 面向对象编程系列文章:
[url=http://lixh1986.iteye.com/blog/1958956]1、javaScript之面向对象编程[/url]
[url=http://lixh1986.iteye.com/blog/2332467]2、javascript之面向对象编程之属性继承[/url]
[url=http://lixh1986.iteye.com/blog/2348442]3、javascript之面向对象编程之原型继承[/url]
-
-转载请注明出处:
http://lixh1986.iteye.com/blog/2317065
-
引用:
[url]http://stackoverflow.com/questions/14967535/delete-a-x-vs-a-x-undefined[/url]