JavaScript严格模式(strict mode)有什么作用2015-05-21 00:18:37
( 2人已投票,[高质量] )
相信熟悉javascript的你,对严格模式一定有所耳闻,所谓的“strict mode”其实只是一种更加严格的代码检查机制,并且会让你的代码更加安全。当然,不选择这个模式并不意味着是一个错误,但是使用这个模式可以确保你的代码更加准确无误,如果你是个技术精深的程序,如下优势可能很是诱惑:
“strict mode”与正常模式下的比效优势如下:
便捷的调试:在正常模式下很多错误都会被忽视掉,“strict mode”模式会让Debug更加严谨。
防止默认的全局变量:在正常模式下,给一个为经过声明的变量命名将会将这个变量自动设置为全局变量。在strict模式下,我们取消了这个默认机制。
取消this的默认转换:在正常模式下,给this关键字指引到null或者undefined会让它自动转换为全局。在strict模式下,我们取消了这个默认机制。
防止重复的变量声明和参数声明:在strict模式下进行重复的变量声明会被抱错,如(e.g., var object = {foo: "bar", foo: "baz"};) 同时,在函数声明中重复使用同一个参数名称也会报错,如 (e.g., function foo(val1, val2, val1){})。
让eval()函数更加安全。
当遇到无效的delete指令的事后报错:delete指令不能对类中未有的属性执行,在正常情况下这种情况只是默默地忽视掉,而在strict模式是会报错的。
怎么样,与正常模式下的比效使用strict mode的好处还是显而易见的。