javascript中的with使用
在阅读underscore时,在模板引擎部分看到了with语句的使用
with 使用
例子:
1 | var data = {test:10}; |
上面语句输出10
1 | with(data){console.log(test)}; |
针对with语句,javascript解释器要检查块中的变量是否属于with传入的对象,与直接访问data.test相比,多了一步检查,对性能有所影响
在严格模式’use strict’模式下,with语句不能使用
目前基本都在使用严格模式,规范编码。with语句很少使用了。
underscore模板部分使用with语句的代码块:
if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n';
此处是为了使用模板传入的参数