您的位置:首页 > Web前端 > JavaScript

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;”)的结果:


会忽略掉对那么属性的修改。依旧打印原来的值。

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