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 相关文章推荐
javascript 鼠标拖动图标技术
Feb 07 Javascript
原生Js实现简易烟花爆炸效果的方法
Mar 20 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
Mar 21 Javascript
DWR中各种java方法的调用
May 04 Javascript
微信公众号菜单配置微信小程序实例详解
Mar 31 Javascript
Bootstrap按钮组实例详解
Jul 03 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
Dec 06 Javascript
JavaScript实现移动端带transition动画的轮播效果
Mar 24 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
Sep 21 Javascript
JS pushlet XMLAdapter适配器用法案例解析
Oct 16 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
Oct 29 Javascript
JavaScript文档对象模型DOM
Nov 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
使用php验证复选框有效性的示例
2013/11/13 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
JqGrid web打印实现代码
2011/05/31 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
改变隐藏的input中value的值代码
2013/12/30 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
jQuery使用zTree插件实现树形菜单和异步加载
2016/02/25 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
2017/11/28 Javascript
简单的vuex 的使用案例笔记
2018/04/13 Javascript
JavaScript实现表单注册、表单验证、运算符功能
2018/10/15 Javascript
如何用原生js写一个弹窗消息提醒插件
2019/05/24 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
2020/02/07 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
零基础写python爬虫之使用urllib2组件抓取网页内容
2014/11/04 Python
Python3中多线程编程的队列运作示例
2015/04/16 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
详解tensorflow训练自己的数据集实现CNN图像分类
2018/02/07 Python
Django框架模板的使用方法示例
2019/05/25 Python
tensorflow常用函数API介绍
2020/04/19 Python
python程序需要编译吗
2020/06/19 Python
python3中布局背景颜色代码分析
2020/12/01 Python
英文版网络工程师求职信
2013/10/28 职场文书
自动化专业个人求职信范文
2013/11/29 职场文书
爱心活动计划书
2014/04/26 职场文书
远程培训的心得体会
2014/09/01 职场文书
教师学期个人总结
2015/02/11 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
Python3 如何开启自带http服务
2021/05/18 Python
Pytorch 如何实现常用正则化
2021/05/27 Python
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js
Go语言安装并操作redis的go-redis库
2022/04/14 Golang