JS语法
初始JavaScript
JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。
通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
完整的JavaScript是由ECMAScript(语法),Browser Object(DOM,BOM)(特性) 组成的。
JavaScript 语法规则
JavaScript的注释与分号
- 单行注释 //
- 多行注释 /* */
- 语句结束要加分号,省略则由解析器确定语句的结尾。
JavaScript的语法
- 注意区分大小写
JavaScript的标识符
-
标识符
变量,函数,属性的名字,或者是函数的参数。 -
命名规则
(1)由字母,数字,下划线或美元符号组成。
(2)不能以数字开头。
(3)不能使用关键字,保留字作为标识符。Javascript 的保留关键字不可以用作变量、标签或者函数名。有些保留关键字是作为 Javascript 以后扩展使用。
以下是 JavaScript 中重要的保留字(按字母顺序):
变量
ECMAScript的变量是松散类型。即可以用来保存任何类型的数据。
-
变量的声明
语法: var 变量名 -
变量赋值
声明的同时赋值:var 变量名 = 值
先声明后赋值: 变量名 = 值
JavaScript的数据类型
分为简单数据类型(也成基本数据类型)和复杂数据类型
-
简单数据类型
Undefined
Null
Boolean
Number
String -
复杂数据类型
Object
typeof
功能:检测变量类型
语法:typeof 变量 或 typeof(变量)
返回值:string类型(可能是:string,number,boolean,undefined,function,object
isNaN
语法:isNaN(n)
功能:检测n是否为“非数值“
返回值:boolean
参数:参数n可以是任何类型
- 说明:isNaN()对接受的数值,先尝试转化为数值,在检测是否为非数值。
Undefined类型
类型只有一个值,即特殊的undefined。
一般而言,不存在需要显示的把一个变量设置为undefined。
null类型
null值表示一个空对象指针
定义的变量用在将来保存对象,最好设置将变量初始化为null而不是其他。
说明:undefined值是派生自null值的,所以undefined == unll 的返回结果是ture。
Number类型
- Number: 表示整数和浮点数
- NaN: 即非数值(Not a Number)是一个特殊的数值。
string类型
string类型用于表示由零或多个16位Unicode字符组成的字符序列,即字符串。
字符串可以有双引号("")或单引号(’’)表示。
toString与String
功能:将str转换成字符串
语法:str.toString()
返回值:str的一个副本
参数:str是要转化的内容,可以是数值,布尔值,对象和字符串。
说明:在不知道要转化的值是不是null和undefined的情况下,还可以使用String()函数,它能够将任何类型转化为字符串。
数值转化
- Number()
可以用于任何数据类型。 - parseInt()
会忽略字符串前面的空格,直至找到第一个非空格字符 - parseFloat()
从第一个字符开始解析每个字符,直至遇见一个无效的浮点数字符为止。
parseFloat()只解析十进制值,因此它没有用第二个参数指定基
数的用法
说明:
(1) Number()可以用于任何数据类型,遇到不可转化返回NaN。
(2)parseInt()和 parseFloat()则专门用于把字符串转化成数值。
(3) parseInt()提取的必须以数字开头,否则返回NaN。
(4)parseFloat()除了第一个小数点有效外,parseFloat()和 parseInt()的第二个区别在于它始终会忽略前面的零。
javaScript操作符
将同类型的数据(如变量,常量,函数等),用运算符号按一定规则连接起来的,有意义的式子称为表达式。
算数操作符
- 加:+
- 减:-
- 乘:*
- 除:/
- 取余:%
- 递增(递减):
a++ 和 ++a 都是对a进行递增的操作
区别:
a++ 返回递增之后a的值
++a 先返回a的原值,再返回递增之后的值
(递减同理)
赋值操作符
- 简单赋值:=
- 复合赋值:+=, -=, *=, /=, %=
比较操作符
比较运算符在逻辑语句中使用,以测定变量或值是否相等。
三元操作符
语法:条件?执行代码1:执行代码2
说明:可代替简单的if语句,如果条件成立,执行代码1,否则执行代码2。
逻辑操作符
-
与 :&&
只要有一个条件不成立,则返回false。说明:在有一个操作数不是布尔值的情况下,逻辑与操作就不一定返回值,遵循以下规则
(1)如果第一个操作数隐式类型转化后为ture,则返回第二个操作数。
(2)如果第一个操作数隐式类型转化后为false,则返回第一个操作数。
(3)当前面的操作数隐式类型转化后为ture的情况时,如果有一个操作数是null,则返回null;如果有一个操作数是NaN,则返回NaN;如果有一个操作数是undefined,则返回undefined。 -
或:||
只要有一个条件成立,则返回ture。说明:在有一个操作数不是布尔值的情况下,逻辑与操作就不一定返回值,遵循以下规则(两个操作数的情况)
(1)如果第一个操作数隐式类型转化后为ture,则返回第一个操作数。
(2)如果第一个操作数隐式类型转化后为false,则返回第二个操作数。
(3)如果两个操作数是null,则返回null;如果两个操作数是NaN,则返回NaN;如果两个操作数是undefined,则返回undefined。 -
非:!
说明:
(1) 无论操作数是什么数据类型,逻辑非的返回值一定为布尔值
(2)!!同时使用两个逻辑非操作符时:第一个逻辑非操作会基于无论什么操作数返回一个布尔值。 第二个逻辑非则对该布尔值求反。
参考资料:慕课网,菜鸟教程