js判断浏览器是否支持严格模式的方法


Posted in Javascript onOctober 04, 2016

设立"严格模式"的目的,主要有以下几个:

- 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;

- 消除代码运行的一些不安全之处,保证代码运行的安全;

- 提高编译器效率,增加运行速度;

- 为未来新版本的Javascript做好铺垫。

"严格模式"体现了Javascript更合理、更安全、更严谨的发展方向,包括IE 10在内的主流浏览器,都已经支持它,许多大项目已经开始全面拥抱它。

另一方面,同样的代码,在"严格模式"中,可能会有不一样的运行结果;一些在"正常模式"下可以运行的语句,在"严格模式"下将不能运行。掌握这些内容,有助于更细致深入地理解Javascript,让你变成一个更好的程序员。

js构造函数类似于

function P (name, age) {
 this.name = name;
 this.age = age;
}

使用new操作符则返回一个新的对象,如果没有加new操作符则函数内this指向全局对象window,而在严格模式中则为undefined,借此我们可以判断浏览器是否支持严格模式

var hasStrictMode = (function(){ 
 "use strict";
 return this == undefined;
}())

这里介绍一个方法,可以忽略new操作符

function P () {
 if (!(this instanceof P)) return new P();
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
Google Map API更新实现用户自定义标注坐标
Jul 29 Javascript
javascript显示上周、上个月日期的处理方法
Feb 03 Javascript
设置点击文本框或图片弹出日历控件的实现代码
May 12 Javascript
自定义require函数让浏览器按需加载Js文件
Nov 24 Javascript
Bootstrap CSS布局之图像
Dec 17 Javascript
简单实现bootstrap导航效果
Feb 07 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
Jun 04 Javascript
vue iview实现动态路由和权限验证功能
Apr 17 Javascript
ng-alain表单使用方式详解
Jul 10 Javascript
iView框架问题整理小结
Oct 16 Javascript
微信公众平台 发送模板消息(Java接口开发)
Apr 17 Javascript
vue引入静态js文件的方法
Jun 20 Javascript
浅谈jquery高级方法描述与应用
Oct 04 #Javascript
vue.js中$watch的用法示例
Oct 04 #Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
Oct 04 #Javascript
用jquery快速解决IE输入框不能输入的问题
Oct 04 #Javascript
JavaScript九九乘法口诀表的简单实现
Oct 04 #Javascript
原生js仿jquery实现对Ajax的封装
Oct 04 #Javascript
json定义及jquery操作json的方法
Oct 03 #Javascript
You might like
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
一些实用的jQuery代码片段收集
2011/07/12 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
15个jquery常用方法、小技巧分享
2015/01/13 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
2016/01/26 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
2016/03/07 Javascript
JavaScript计算器网页版实现代码分享
2016/07/15 Javascript
浅谈js中test()函数在正则中的使用
2016/08/19 Javascript
AngularJS中一般函数参数传递用法分析
2016/11/22 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
JS 数组基本用法入门示例解析
2020/01/16 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
在Python中操作列表之list.extend()方法的使用
2015/05/20 Python
python中的计时器timeit的使用方法
2017/10/20 Python
python3+PyQt5实现自定义分数滑块部件
2018/04/24 Python
Python3 批量扫描端口的例子
2019/07/25 Python
python关于调用函数外的变量实例
2019/12/26 Python
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
求高于平均分的学生学号及成绩
2016/09/01 面试题
如何选择使用结构还是类
2014/05/30 面试题
护理学中专毕业生求职信
2013/11/11 职场文书
个人贷款担保书
2014/04/01 职场文书
《中国梦我的梦》中学生演讲稿
2014/08/20 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
慈善募捐倡议书
2015/04/27 职场文书
2016入党积极分子党课培训心得体会
2016/01/06 职场文书
MySQL Router实现MySQL的读写分离的方法
2021/05/27 MySQL