JavaScript语言结构

1. 基本文法

  • 大小写敏感;
  • 最长行匹配原则:假如一行词能被解析成正确的句子,那么就按照该规则解析(即使没有加上分号),否则就再读取一行。

例: return

a || b;

将被解释为return;

而return a ||

b;

将被解释为return a || b;

  • 标记,用于continue和break识别要跳出的循环,默认情况只能匹配最内层的循环。

2. 运算符

  • +:可操作数字与字符;数字与字符相加时,将数字转换为字符;其他对象试图调用valueOf()或toString()方法。
  • -:可操作数字,其他对象试图调用valueOf()方法。
  • *:与-相似。
  • /:与-相似;除数为0时返回Infinity,0/0时返回NaN。
  • %:与-相似;结果符号与第一个数一致。
  • ++与--:在前时先操作后作为表达式的值,在后时相反。
  • NaN或undefined参与的关系比较结果均为false,取反则为true。
  • null==null 返回 true
  • undefined==undefined 返回 true
  • undefined==null 返回 true
  • null >=undefined 返回 false
  • &&与||:如果左边的表达式足以判断结果,那么右边的表达式将不会执行,返回左边的表达式,否则返回右边的表达式;返回的是表达式的值,而不是转换为布尔类型。

例:1 && 2 ||3 返回2; 0 && 2 ||3 返回3。

  • ,:x = (i = 1, k = 2) 等价: i = 1; x = k = 2;
时间: 2024-12-14 11:09:27

JavaScript语言结构的相关文章

javascript权威指南-语言结构笔记

Js 程序采用Unicode字符集编码的; Js语言严格区分大小写(变量, 函数, 关键字,标识符) Js语言会忽略空格 换行 制表符 Js语句以 ;(分号) 结尾, 但是如果语句独占一行是可以省略; 注:不是所有换行处都可以省略 ; 只有在缺少了分号,javascript无法正确解析代码时, javascript才会填补 ;(分号) eg:   如上面这段代码 js在解析时, 由于javascript语言是忽略 空格 换行 制表符的所以他在执行 var a 的地方时,后面没有发现分号 ,接着向

JavaScript语言精粹pdf

内容简介  · · · · · · 本书通过对JavaScript语言的分析,甄别出好的和坏的特性,从而提取出相对这门语言的整体而言具有更好的可靠性.可读性和可维护性的JavaScript的子集,以便你能用它创建真正可扩展的和高效的代码. 雅虎资深JavaScript架构师Douglas Crockford倾力之作. 向读者介绍如何运用JavaScript创建真正可扩展的和高效的代码. 作者简介  · · · · · · Douglas Crockford是一名来自Yahoo!的资深JavaSc

JavaScript语言精粹 笔记02

函数函数对象函数字面量调用参数返回异常给类型增加方法递归作用域闭包回调模块级联套用记忆   函数 1 函数对象 在JS中函数就是对象.对象是“名/值”对的集合并拥有一个连接到原型对象的隐藏连接.对象字面量产生的对象连接到Object.prototype.函数对象连接到Function.prototype(该原型本身连接到Object.prototype).每个函数在创建时附有两个附加的隐藏属性:函数上下文和实现函数行为的代码. 因为函数是对象,所以它可以像任何其他的值一样被使用.函数可以存放在变

<JavaScript语言精粹>-读书笔记(一)

用object.hasOwnProperty(variable)来确定这个属性名是否为该对象成员,还是来自于原型链. for(my in obj){ if(obj.hasOwnProperty(my)){ ... } } 思考:--用来遍历判断是否有该属性成员,当为一个string var="abcdef"一样的一个字符串时,通过JS代码判断其中是否含有我们需要的某一个字符,比如a,如果有就将其remove 一个属性存取表达式用于指定一个对象或数组的属性或元素. 对象字面量:一个对象字

JavaScript语言精粹读书笔记- JavaScript对象

JavaScript 对象 除了数字.字符串.布尔值.null.undefined(都不可变)这5种简单类型,其他都是对象. JavaScript中的对象是可变的键控集合(keyed collections). 对象是属性的容器,其中每个属性都拥有名字和值. JavaScript中的对象是无类别的(class-free)的.它对新属性的名字和值没有约束. JavaScript包括一个原型链特性,允许对象继承另一对象的属性. 对象的检索: stooge[“first-name”]或者stooge.

JavaScript语言精粹 笔记05 正则表达式

正则表达式 正则表达式以方法的形式被用于对字符串中的信息进行查找.替换画图提取操作.可处理正则表达式的方法有:regexp.exec, regexp.test,string.match, string.replace, string.search, 和string.split. 结构 有两个方法来创建一个RegExp对象.优先方法是使用正则表达式字面量.正则表达式被包围在一对斜杠中.有3个标志能在RegExp中设置,分别为g.i.m. // 构造一个匹配JavaScript字符串的正则表达式对象

《JavaScript语言精粹》【PDF】下载

<JavaScript语言精粹>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382204 内容简介 javascript曾是"世界上最被误解的语言",因为它担负太多的特性,包括糟糕的交互和失败的设计,但随着ajax的到来,javascript"从最受误解的编程语言演变为最流行的语言",这除了幸运之外,也证明了它其实是一门优秀的语言.douglascrockford在本书中剥开了javascrip

【图解】javaScript组成结构

[图解]javaScript组成结构,布布扣,bubuko.com

C语言 结构体指针赋值 incompatible types when assigning to type &#39;char[20]&#39; from type &#39;char *&#39;

strcpy(pstudent->name, "guo zhao wei "); 为什么错误,该怎么写,(红色行) 追问 为什么不能直接赋值啊, 追答 用char nnnn[20]定义的,用strcpy 用char *ppp定义的,用=来赋值 C语言 结构体指针赋值 incompatible types when assigning to type 'char[20]' from type 'char *'