Javascript中的with关键字

    xiaoxiao2021-03-25  126

    说起js中的with关键字,很多小伙伴们的第一印象可能就是with关键字的作用在于改变作用域,然后最关键的一点是不推荐使用with关键字。听到不推荐with关键字后,我们很多人都会忽略掉with关键字,认为不要去管它用它就可以了。但是有时候,我们在看一些代码或者面试题的时候,其中会有with关键字的相关问题,很多坑是你没接触过的,所以还是有必要说说with这一个关键字。

    基本说明

    在js高级程序设计中是这样描述with关键字的:with语句的作用是将代码的作用域设置到一个特定的作用域中,基本语法如下:

    1 with (expression) statement;

    使用with关键字的目的是为了简化多次编写访问同一对象的工作,比如下面的例子:

    1 2 3 var qs = location.search.substring(1); var hostName = location.hostname; var url = location.href;

    这几行代码都是访问location对象中的属性,如果使用with关键字的话,可以简化代码如下:

    1 2 3 4 5 with (location){ var qs = search.substring(1); var hostName = hostname; var url = href; }

    在这段代码中,使用了with语句关联了location对象,这就以为着在with代码块内部,每个变量首先被认为是一个局部变量,如果局部变量与location对象的某个属性同名,则这个局部变量会指向location对象属性。 注意:在严格模式下不能使用with语句。

    转载请注明原文地址: https://ju.6miu.com/read-14577.html

    最新回复(0)