js的注释与分号
// 单行注释
/**/多行注释 ctrl +shift +/
语句结束使用分号,如果省略,则由解析器确定语句的结尾
js语法
1.变量、函数名、操作符都区分大小写
2.标识符
(1)什么是标识符
变量、函数、属性的名字或者函数的参数
(2)标识符的命名规则
1>由字母数字下划线或$组成
2>不能一数字开头
3>不能使用关键字、保留字等作为标识符
3.变量
1.ECMAScript 的变量是松散型的
松散型:可以用来保存任何类型的数据
换句话说,每个变量仅仅是一个用来保存值得占位符而已
2. 变量声明
变量的声明要使用var操作符
语法: var 变量名
注:省略var声明的变量是全局变量,不推荐使用
3. 变量赋值
方法一:先声明后赋值
var xx;
xx='hello';
方法二:声明的同时赋值
var age=18;
一次声明多个变量
var a=12,b='hello',c;
4.数据类型
简单的数据类型(基本数据类型)
Undefined 只用一个值---特殊的undefined
没有赋值的变量类型就是undefied
Null
空指针对象
如果定义的变量准备将来用于保存对象,最好将其初始换问Null
Boolean
true
false
类型转化
0、空字符串、null、undefined转化成布尔值是false 其他的为true
Number
整数和浮点数
NaN not a number 是特殊的数值
任何涉及NaN的操作(NaN-10)都返回NaN
NaN与任何值都不相等,包含NaN本身
isNaN(n)-----函数检测n是否是非数值 是非数值返回True 是数值返回flase
接受到参数后,尝试把参数转化成数值,如果能转就转后再返回结果 例如'16'也是数值
String
用于表示由0或多个16位Unicode字符组成的字符序列,即字符串,字符串可以双引号或单引号表示
将其他类型转化成字符串函数
toString()函数
语法:abc.toString()
返回值:abc的一个副本
参数:abc是要转换的内容,可以是数值或布尔值或对象或字符串
String()函数
强制转化,能够将任何类型的值转化成字符串
ECMAScript6新增了symbol类型
symbol
复杂的数据类型
Object
typeof---检查变量类型
typeof 变量 或typeof(变量)
返回值string类型
console.log(typeof age)//在控制台中打印
数值转化(有3个函数可以把非数值转化成数值类型)
Number() 把值强制转化成数据类型,遇到字符串转不了时,返回NaN
parseInt() 专门用于把字符串转化成数值
1.操作的参数必须是数字开头才能提取出来 例如28px可以 ss28提取不出来返回NaN
2.parseInt()接收两个参数,一个是被转化的参数一个是转化时使用的基数(多少进制)
var topval='28px';
topval=parseInt(topval)
console.log(topval) //返回的值是28
parseFloat() 专门用于把字符串转化成数值
从第一个字符开始解析每个字符,直到遇见一个无效的浮点数值为止
除了第一个小数点有效外,与parseInt()的第二个区别是它始终会忽略前导的零
5.操作符
算数操作符
+ - * / % ++a(先返回递增之后的值) a++(先返回原值,再递增)
其他操作符
逻辑操作符
逻辑与 &&
说明:在有一个操作数不是布尔值时,逻辑与操作就不一定返回值,此时遵守以下规则:
1.如果第1个操作数隐式类型转化后为true,则返回第2个操作数
2.如果第1个操作数隐式类型转化后为false,则返回第1个操作数
3.如果操作数中有一个是none 或NaN或undefined 就直接返回none 或NaN或undefined
逻辑或 ||
说明:在有一个操作数不是布尔值时,逻辑或操作就不一定返回布尔值,遵循以下规则
1.如果第一个操作数隐士类型转化成true则返回第一个操作数
2.如果第一个操作数隐士类型转化为false则一次往下判断,直到遇到true的就返回
3.如果操作数都是none 或NaN或undefined 就返回none 或NaN或undefined
逻辑非 ! -----永远返回布尔型
说明:
1.无论操作数是什么数据类型,逻辑非都会返回布尔值
2.!!同时使用两个逻辑非操作符时
第一个会基于操作数返回布尔值
第二个对该布尔值求反
赋值操作符
比较操作符
==相等,只比较值是否相等
===:相等,比较值得同时比较数据类型是否相等
!=:不相等,比较值是否不相等
!==:不相等,比较值得同时比较数据类型是否不相等
返回值:boolean型
三元操作符
语法:
条件?执行代码1:执行代码2
说明:
可代替简单的if语句
如果条件成立,执行代码1,否则执行代码2