js的with语句使用

ccalb 2013-07-11 05:43:50
<script language="javascript">
<!--
function Lakers() {
this.name = "kobe bryant";
this.age = "28";
this.gender = "boy";
}
var people=new Lakers();
with(people)
{
var str = "姓名: " + name + "<br>";
str += "年龄:" + age + "<br>";
str += "性别:" + gender;
document.write(str);
}
//-->
</script>
...全文
201 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lake9146 2013-07-13
  • 打赏
  • 举报
回复
e ,,,,
wojiushiliumang 2013-07-12
  • 打赏
  • 举报
回复
ls正确 补充一点小疑问:骚年,你是想表达个什么意思啊?
Acesidonu 2013-07-12
  • 打赏
  • 举报
回复
能不用就不要用,性能不高。
S117 2013-07-12
  • 打赏
  • 举报
回复
with 语句 为一个或一组语句指定默认对象。
  • 打赏
  • 举报
回复
谷歌,百度一下一大顿。。
内容概要:文章深入解析了JavaScript中with语句的设计初衷、实际缺陷及其被弃用的原因。with语句原本旨在简化对象属性访问,如通过`with(foo.bar.baz)`来减少重复书写路径。然而,它存在诸多问题:一是破坏作用域链,导致变量解析不确定性和变量泄漏,如未声明的变量可能成为全局变量;二是带来严重性能损耗,测试显示with语句的执行时间比常规方式慢6倍左右,因为它破坏了JavaScript引擎的静态优化能力;三是造成代码优化障碍,例如压缩工具难以安全重命名变量,调试时变量指向不明确等问题。因此,“避免使用with语句”成为行业共识,并在严格模式下被禁用。现代JavaScript提供了对象解构、模块化封装和可选链等更好的替代方案。文章还从历史角度阐述了JavaScript作用域管理的演进,强调明确优于隐式、静态分析优先和保持作用域纯净性的原则。 适合人群:对JavaScript有一定了解,特别是对作用域机制感兴趣的前端开发人员。 使用场景及目标:帮助开发者理解with语句的缺陷,掌握更优的编码实践,避免潜在的错误和性能问题;同时,为学习JavaScript作用域机制提供理论支持。 阅读建议:阅读时应重点关注with语句带来的具体问题以及现代JavaScript提供的替代方案,结合实际开发经验思考如何改进代码质量。

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧