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. 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属性并不会变小. 当用
[javascript] view
plaincopy
var trees = ["redwood","bay","cedar","oak","maple"];
delete trees[3];
if (3 in trees) {
// 不会执行到这里
}
如果你想让一个数组元素的值变为undefined而不是删除它,可以使用
[javascript] view
plaincopy
var trees = ["redwood","bay","cedar","oak","maple"];
trees[3]=undefined;
if (3 in trees) {
// 会执行到这里
}
块级元素:会自动占据一定矩形空间,可以通过设置高度、宽度、内外边距等属性,来调整的这个矩形的样子。
行内元素:则没有自己的独立空间,它是依附于其他块级元素存在的,因此,对行内元素设置高度、宽度、内外边距等属性,都是无效的。
常见的块级元素和行内元素
块级元素:
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) {
// 会执行到这里
}
相关文章推荐
- js封装map
- jquery插件Loadmask
- 一个简单的学生登陆系统的jsp实现之登陆身份验证
- 如何更便捷的监控前端服务质量
- js Event对象
- [Cool Node.js] Node.js简介
- Jquery调用后台的RadioButtonList_SelectedIndexChanged事件
- 手机网页js计时器在浏览器处于后台的时候被冷冻的问题。
- Jquery常用技巧总结
- EXT.NET多表头样式问题
- 一个简单的学生登陆系统的jsp实现_1
- NPOI导Excel样式设置
- fastclick.js插件使用简单说明
- js实现(全选)多选按钮
- BootStrap学习笔记-1
- 整理了一份React-Native学习指南
- CSS样式命名规范
- JavaScript操作XML/HTML比较常用的对象属性集锦
- sencha touch 项目的样式不起作用了
- AjaxFileUpload Firefox 不工作异常 (zero-width space characters from a JavaScript string)