`
zhouyrt
  • 浏览: 1171955 次
  • 性别: 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

    《深入解析org.mozilla.javascript-1.7.2.jar》 在Java开发中,JavaScript引擎的使用日益广泛,其中Mozilla的Rhino引擎是备受开发者青睐的一款。本文将围绕"org.mozilla.javascript-1.7.2.jar"这个资源包,详细讲解...

    org.mozilla.javascript-1.7.2.jar.zip

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

    解析JavaScript中点号“.”的多义性

    」在JavaScript中有两种语义 语义1、表示算术中的小数点(浮点数),如 2.5 语义2、取对象属性、方法,如 [].push(2) 这几乎没有任何难理解的地方,但下面这个问题则很有趣。 代码如下:// 这行代码会如何执行 1....

    Noesis.Javascript.dll.zip

    标题 "Noesis.Javascript.dll.zip" 提供的信息表明这是一个包含 Noesis.Javascript 库的压缩文件,该库可能是一个用于在 C# 中运行 JavaScript 代码的框架。在 .NET 开发环境中,这样的库允许开发者利用 C# 调用和...

    VS2015安装证书,JavaScript_ProjectSystem.msi,JavaScript_LanguageService.msi

    在这个场景中,我们关注的是VS2015的安装过程中涉及到的证书问题以及两个特定的组件:JavaScript_ProjectSystem.msi和JavaScript_LanguageService.msi。 首先,关于“VS2015安装证书”,这通常是指安装过程中需要...

    非常好的javascript原理资源,分享出来.zip

    其中很多都是伪代码的写法,便有回顾和总结。参考资料 包含 javascript 的基础语法 面向对象的实现 设计模式实现 模块化开 javascript 常见的疑问 jQuery NodeJs html5 Javascript based 1.对象 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_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

    The 6th edition covers HTML5 and ECMAScript 5, with new chapters on jQuery and server side JavaScript. It's recommended for experienced programmers who want to learn the programming language of the ...

    JavaScript 参考手册.zip

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

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

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

    javascript基础PPT.zip

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

    Beautiful.JavaScript.2015.8.pdf

    《Beautiful JavaScript》一书由多个领域的专家共同编写,旨在深入探讨JavaScript的各个方面。书中不仅涵盖了语言的基础语法和核心特性,如变量、数据类型、函数、对象、数组等,还介绍了诸如异步编程、闭包、原型...

    JavaScript语言精粹.源代码

    JavaScript,作为全球最广泛使用的编程语言之一,是创建交互式网页和动态应用的关键工具。《JavaScript语言精粹》是一本深受开发者喜爱的经典书籍,它深入浅出地讲解了JavaScript的核心概念和技术,帮助读者掌握这门...

    HTML+CSS+JAVAscript详细手册.rar

    HTML5是当前最广泛使用的版本,它引入了更多语义化的标签,如`<header>`, `<footer>`, `<article>`, `<section>`,旨在提高网页内容的可读性和可访问性。 CSS(Cascading Style Sheets)是用于控制网页外观和布局的...

    JavaScript实战.pdf 中文完整版

    JavaScript,作为全球最广泛使用的编程语言之一,是前端开发的核心技术,也是许多后端和全栈开发者的必备技能。本书“JavaScript实战.pdf 中文完整版”深入浅出地介绍了JavaScript在实际项目中的应用,旨在帮助读者...

    基于Java的实例源码-服务端JavaScript框架 RingoJS.zip

    通过RingoJS,开发者可以利用JavaScript的强大功能和灵活性,同时享受到Java平台的稳定性和企业级支持。 RingoJS提供了丰富的模块系统,类似于Node.js中的模块机制。这些模块涵盖了HTTP服务器、路由处理、模板渲染...

Global site tag (gtag.js) - Google Analytics