JavaScript权威指南:深入理解forin、with及内置函数

5星 · 超过95%的资源 需积分: 3 9 下载量 46 浏览量 更新于2024-09-11 收藏 38KB DOCX 举报
JavaScript权威指南笔记是一本深入讲解JavaScript编程的书籍,特别强调了在查询对象属性和数组元素时,Forin循环的高效使用,它适合于高级开发者查阅,可作为查找特定概念的工具。Forin循环能够遍历对象的所有可枚举属性,包括原型链上的属性,但需要注意的是,这种方法不适用于访问宿主对象的内部属性。 With语句在JavaScript中是一个临时改变作用域的结构,通过`with(mySub)`,可以简化对对象属性的访问,如`document.write(hisName)`和`document.write(hisAge)`等价于`document.write(mySub.hisName)`和`document.write(mySub.hisAge)`。然而,With语句存在潜在的风险,如嵌套使用可能导致预期外的变量污染,仅作用于当前作用域内的变量。在这个例子中,虽然可以设置`myHouse`、`bathroom`和`lobby`的`color`值,但不会改变`myHouse`自身的属性。 JavaScript提供了内建的全局函数,如`eval()`用于执行一个字符串并返回结果,但需谨慎使用以防安全问题。编码和解码URI的函数有`encodeURI()`和`encodeURIComponent()`,前者用于对文本字符串进行URI编码,而后者更严格,适用于URL编码。在处理特殊字符时,要考虑编码和反向编码的适用场景。 整数转换是JavaScript中的基础操作,`parseInt()`函数可以将字符串转换为十进制或十六进制,例如`parseInt("0x3f8", 16)`会将十六进制的3f8转换为十进制。字符串转换则使用`String()`函数,如`String(a)`。 数值类型判断是程序设计中的常见需求,`isFinite()`检查一个数值是否为有限数值,`isNaN()`则判断一个值是否为非数字。此外,JavaScript还处理了`Infinity`和`-Infinity`这些特殊的数值表示。 在JavaScript中,DOM操作和样式设置也是关键部分,如`txt.fontcolor()`用于设置字体颜色,`txt.fontsize(num)`调整字体大小。使用`use strict`关键字可以开启严格模式,提高代码的规范性和性能。 在变量声明和函数调用方面,如`var m = 0; var n = void b;`,`n`的初始值会根据类型自动设为`undefined`。函数可以有多种调用方式,如`window.add(2,3)`,也可以通过函数名加括号`window.add["add"](2,3)`。匿名函数(函数表达式)如`var myFunction = function(a1, a2, a3) {}`是一种常见的函数定义形式。 函数语句与表达式的区别在于,函数表达式可以立即执行,而函数声明则先声明后执行。例如,直接赋值给变量的函数表达式`var myFunction`就是一种表达式形式,而单独声明函数`function add(x, y)`则是语句。理解这些概念有助于提升代码的灵活性和可读性。