您的位置:首页 > Web前端

web前端

2015-10-30 15:32 260 查看
根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,成为块级元素;而span元素的默认display属性值为“inline”,称为行内元素。

块级元素:会自动占据一定矩形空间,可以通过设置高度、宽度、内外边距等属性,来调整的这个矩形的样子。

行内元素:则没有自己的独立空间,它是依附于其他块级元素存在的,因此,对行内元素设置高度、宽度、内外边距等属性,都是无效的。

常见的块级元素和行内元素

块级元素:

div、p、h1-h6、hr、ul、ol

行内元素:

a、b、i、u、em、input、select、img、label、br

delete
操作符来删除一个隐式声明的全局变量,也就是没有使用
var
定义的全局变量.

如果
delete
操作符删除成功, 则被delete的属性已从所属的对象上彻底消失,
随后,该对象的原型上可能存在的一个同名属性会被继承.

一些对象的属性不能被delete. ECMA 262 规范中把这些属性标记为 DontDelete.

[javascript] view
plaincopy

x = 42; // 隐式声明的全局变量

var y = 43; // 显式声明的全局变量

myobj = new Number();

myobj.h = 4; // 添加属性h

myobj.k = 5; // 添加属性k

delete x; // 返回 true (隐式声明的全局变量可以被删除)

delete y; // 返回 false (显式声明的全局变量不能被删除,该属性有DontDelete标记)

delete Math.PI; // 返回 false (内置对象的内置属性不能被删除, 该属性有DontDelete标记)

delete myobj.h; // 返回 true (用户定义的属性可以被删除)

with(myobj) {

delete k; // 返回 true (相当于delete myobj.k)

}

delete myobj; // 返回 true (隐式声明的全局变量可以被删除)

你不能删除一个对象从原型继承而来的属性(不过你可以从原型上直接删掉它).



[javascript] view
plaincopy

function Foo(){}

Foo.prototype.bar = 42;

var foo = new Foo();

delete foo.bar; // 无效的操作

alert(foo.bar); // alerts 42, 继承的属性

delete Foo.prototype.bar; // 直接删除原型上的属性

alert(foo.bar); // alerts "undefined",已经没有继承的属性

当你删除一个数组元素时,数组的length属性并不会变小. 当用
delete
操作符删除一个数组元素时,被删除的元素已经完全不属于该数组.

[javascript] view
plaincopy

var trees = ["redwood","bay","cedar","oak","maple"];

delete trees[3];

if (3 in trees) {

// 不会执行到这里

}

如果你想让一个数组元素的值变为undefined而不是删除它,可以使用
undefined给其
赋值而不是使用delete操作符.

[javascript] view
plaincopy

var trees = ["redwood","bay","cedar","oak","maple"];

trees[3]=undefined;

if (3 in trees) {

// 会执行到这里

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: