JavaScript(ES5)—小内容汇总

本文详细介绍了JavaScript的严格模式,包括其理解、目的、使用方法以及语法和行为的改变。严格模式旨在消除JS语法的不合理性和不安全性,提供更安全的运行环境,并为未来版本的JS做准备。在严格模式下,变量必须使用var声明,函数中的this不再默认指向window,eval创建了自己的作用域,对象不能有重复属性。这些改变有助于提升代码质量和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

1严格模式

1.理解:
    *除了正常运行模式,ES5添加了第二种运行模式为:严格模式;
    *严格模式是js在更严格的语法条件下运行; 

2.目的/作用
    *消除js语法的一些不合理、不严谨之处,减少一些怪异行为;
    *消除代码运行的一些不安全之处,为代码的安全运行保驾护航;
    *为未来新版的js做好铺垫;

3.使用
    *在全局或函数的第一条语句定义为 "use strict";
    *如果浏览器不支持,只解析为一条简单的语句,没有任何副作用;

4.语法和行为改变
    *必须用var声明变量
    *禁止自定义的函数中的this指向window
    *创建 eval 作用域
    *对象不能有重复的属性;
 <script type="text/javascript">
       "use strict";       //开启使用严格模式
    	                   //使用严模式后的一些约束:
    	var name="kobe";
    	name="kobe";       //1.必须要用var定义
    	console.log(name);
    	
    	function Person(name,age){
    		this.name=name;
    		this.age=age;
    	}                    
    	Person("kobe",38);  //若自调用,函数中this指向了window,报错;
    	                    //2.禁止自定义的函数中的this指向window
    	 
    	var str="NBA";     
    	eval("alert(str)"); //3.创建 eval 作用域   
    	 
    	var str="NBA";       
      	eval('var str="CBA"; alert(str)');  //CBA
    	alert(str);    //NBA 
    	//若不用严格模式 ,eval函数不会有自己的作用域,则会弹窗CBA;
    	//若用严格模式,eval函数会有自己的作用域,则会弹窗全局NBA;
    	//安全性可能更高一点;
    	
    	
    	var obj={          //4.对象不能有重复的属性;
    		username:"kobe",     
    		username:"zms"     
    	}
    	//对象中有重复的属性虽然不会报错,但是不要出现这种情况; 
    </script>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值