`
zhouyrt
  • 浏览: 1162059 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript中点号“.”的多义性

 
阅读更多

点号「.」在JavaScript中有两种语义

语义1、表示算术中的小数点(浮点数),如 2.5

语义2、取对象属性、方法,如 [].push(2)

 

这几乎没有任何难理解的地方,但下面这个问题则很有趣。

// 这行代码会如何执行
1.toString();

Firebug 中如下

这里的点号表达的是上述的语义1,因此点号后面必须跟一个数字,这里跟的是toString,报语法错了。

 

解决方法很简单,如加个小括号

(1).toString();

 

还可以这么写,但难理解些

1..toString();

之所以浏览器中都能运行,是因为各浏览器JS引擎都把“1..toString()”理解成了 “1.0.toString()”。这里第一个点号是语义1,第二个点号是语义2

 

还有更奇怪的写法,竟然也没有报错

1 .toString(); // 注意点号前面有一个空格

显然,这里的点号是语义2,即JS引擎会忽略点运算符前边的空格,其实无论前后的空格都会忽略。如下

1 . toString(); // 点号前后都有一个空格
1  .  toString(); // 点号前后各有两个空格
1    .toString(); // 点号前有一个tab
1    .    toString(); // 点号前后各有一个tab

JS引擎不但会忽略空格,也会忽略tab。

 

相关:

Javascript中大括号“{}”的多义性

Javascript中中括号“[]”的多义性

Javascript小括号“()”的多义性

http://bonsaiden.github.io/JavaScript-Garden/

 

  • 大小: 14.4 KB
分享到:
评论

相关推荐

    org.mozilla.javascript-1.7.2.jar.zip

    3. 客户端增强:Rhino也可用于客户端应用,例如Adobe Flex和Air,提供JavaScript的运行环境,增强应用程序的功能和交互性。 4. 教育与学习:Rhino作为JavaScript的实现,对于学习和理解JavaScript的底层机制非常有...

    Javascript参考手册.chm

    Javascript参考手册.chm

    03-JavaScript工具箱.rar

    IE、Firefox、Opera和Safari的JavaScript兼容性...JavaScript DOM1.O参考手册.chm Javascript W3C参考手册.chmJavaScript_元素定位图.gifJavaScript函数速查手册.pdfJavascript核心对象参考手册.chm JavaScript缓动...

    Pro.JavaScript.Design.Patterns.RETAiL.Dec.2007

    综上所述,《Pro.JavaScript.Design.Patterns.RETAiL.Dec.2007》是一本面向中高级Web开发者的书籍,旨在教育和引导开发者了解和掌握如何通过设计模式来优化和提升JavaScript代码质量,最终编写出可维护性高、复用性...

    Javascript.Object.Oriented.Programming.pdf

    loops, and best practices on using types and data structures, as well as the coding style and recommended code organization patterns in JavaScript. The book will also teach you how to use arrays and ...

    第6节 JavaScript数组及应用.rar

    第6节 JavaScript数组及应用.rar第6节 JavaScript数组及应用.rar第6节 JavaScript数组及应用.rar第6节 JavaScript数组及应用.rar第6节 JavaScript数组及应用.rar第6节 JavaScript数组及应用.rar第6节 JavaScript数组...

    javascript高级教程.pdf

    第1 章 JavaScript 基 础 1.1 关 于JavaScript 1.2 了 解JavaScript 1.3 World Wide Web 1.4 Web 应用程序结构 1.5 JavaScript 与VBScript 第2 章 JavaScript 与HTML 2.6 HTML 基 础 2.7 在HTML 文档中嵌入...

    JavaScript基本语法.ppt

    JavaScript基本语法.ppt,非常适合初学者,用后会帮助你很多

    深入浅出JavaScript.part03.rar

    本书是一部优秀的、注重实践的JavaScript教程。作者首先概览了JavaScript,包括它的语法、良好的编码习惯、DOM编程原则等;然后构建了JavaScript工具包,包括动态操作标记、使用CSS和... 深入浅出JavaScript.part12.rar

    小程序源码(javascript)小熊日记.zip

    小程序源码(javascript)小熊日记.zip 小程序源码(javascript)小熊日记.zip 小程序源码(javascript)小熊日记.zip 小程序源码(javascript)小熊日记.zip 小程序源码(javascript)小熊日记.zip 小程序源码...

    JavaScript_API.chm

    内有: (开发时直接查看以下这些文件,对开发人员非常方便...JavaScript中文版_API.chm; ajax教程.chm; xmldom.chm; XmlSchema.chm; JavaScript网页设计300例.chm 程序员常用JavaScript特效.chm ASP.NET AND XML.chm

    [JavaScript权威指南(第6版)].(JavaScript:The.Definitive.Guide).David.Flanagan.文字版.pdf

    ### JavaScript权威指南(第6版)关键知识点综述 #### 标题与描述解析 - **标题**: "[JavaScript权威指南(第6版)].(JavaScript:The Definitive Guide).David Flanagan.文字版.pdf" - **描述**: "[JavaScript权威指南...

    JavaScript 参考手册.zip

    JavaScript的主要用途是为网页增加交互性,控制浏览器的行为,处理用户输入,以及动态更新内容。 在这个名为"JavaScript 参考手册.zip"的压缩包中,包含了三个不同版本的JavaScript中文API,这将为开发者提供全面的...

    Javascript中括号“[]”的多义性

    本文将深入探讨“[]”在JavaScript中的多义性,并通过实际示例帮助理解这些概念。 1. **数组定义** JavaScript中的数组是用方括号定义的。例如: ```javascript var arr = [1, 'two', true, null, undefined]; ...

    new.riders.press.ppk.on.javascript.sep.2006.chm

    8. **兼容性问题**:鉴于JavaScript在不同浏览器上的实现可能存在差异,书中详细分析了各种浏览器的特性,提供了解决兼容性问题的策略和技巧。 9. **最佳实践**:分享了编写高效、可维护的JavaScript代码的方法,...

    javascript基础PPT.zip

    1. 变量:JavaScript中的变量不需要预定义类型,使用`var`关键字声明,如`var age = 25;`。ES6引入了新的变量声明方式,包括`let`和`const`,它们在作用域上有更严格的管理。 2. 数据类型:JavaScript有七种数据...

Global site tag (gtag.js) - Google Analytics