DOCTYPE 严格模式与JS严格模式
2014-03-22 10:50
225 查看
1.DOCTYPE 不是标签,并且必须置于html标签之前,声明的是该html文档采用的是哪个版本的(html4.01,xhtml,html5),在HTML 4.01中,由于采用的是SGML,所以还要声明DTD,这样浏览器才能正确呈现html内容,HTML4.01有三个版本,strict(严格模式),transitional,frameset。 xhtml有四个版本,strict 、transitional、frameset、template。(详情参考:http://www.w3school.com.cn/tags/tag_doctype.asp)
2.JS严格模式,是针对JS引擎执行的模式,严格模式能让你发现以前一直忽略的错误,在严格模式下运行得代码,如果出现某些以前可以被忽略的错误时,会显式的抛出错误。有助于正确的修正该错误,能更方便的调试代码。严格模式与非严格模式有哪些不同和改进,可以参考改篇文章:http://flandycheng.blog.51cto.com/855176/982719。
3.doctype的严格模式(strict)与js的严格模式,是针对两个不同的方面,前者是对html标签,后者是对js引擎。
4.举个例子来说明js严格模式:
源码:
<script>
//开启js严格模式
"use strict";
var person = new Object();
Object.defineProperty(person, "name", {
writable : false, //设置该属性不可写
value : "zhangda"
});
console.log(person.name);
person.name = "tom";
console.log(person.name);
</script>结果:
不开启严格模式(注释掉“use strict;”)的结果:
会忽略掉对那么属性的修改。依旧打印原来的值。
2.JS严格模式,是针对JS引擎执行的模式,严格模式能让你发现以前一直忽略的错误,在严格模式下运行得代码,如果出现某些以前可以被忽略的错误时,会显式的抛出错误。有助于正确的修正该错误,能更方便的调试代码。严格模式与非严格模式有哪些不同和改进,可以参考改篇文章:http://flandycheng.blog.51cto.com/855176/982719。
3.doctype的严格模式(strict)与js的严格模式,是针对两个不同的方面,前者是对html标签,后者是对js引擎。
4.举个例子来说明js严格模式:
源码:
<script>
//开启js严格模式
"use strict";
var person = new Object();
Object.defineProperty(person, "name", {
writable : false, //设置该属性不可写
value : "zhangda"
});
console.log(person.name);
person.name = "tom";
console.log(person.name);
</script>结果:
不开启严格模式(注释掉“use strict;”)的结果:
会忽略掉对那么属性的修改。依旧打印原来的值。
相关文章推荐
- js的解析顺序 作用域 严格模式
- js判断浏览器是否支持严格模式的方法
- Js中的严格模式use strict
- Doctype的作用和如何区分严格模式和混杂模式,有什么意义
- js--严格模式 'use strict'
- js学习笔记:严格模式
- JS的解析顺序和作用域(严格模式)
- JS严格模式下常见问题汇总
- js 'use strice' 严格模式的作用范围
- js 严格模式
- Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?
- JS的解析顺序和作用域(严格模式)
- HTML:关于HTML的Doctype和严格模式与混杂模式
- Doctype作用?严格模式与混杂模式如何区分?它们有何差异?
- Doctype作用?严格模式与混杂模式如何区分?它们有何差异?
- Doctype 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?
- JS判断doctype文档模式-document.compatMode
- JS严格模式
- DOCTYPE 严格模式与混杂模式
- JS严格模式的限制