第一节
- JS特点:解释型语言,弱类型语言(可以为变量多次赋值)编译一行执行一行;跨平台,支持几乎所有的操作系统;制作浏览器的交互效果
- JS的开发环境
浏览器自带js解释器,服务器端使用NodeJs解释器 - 变量和常量
- 变量 var:不能用数字开头,可以使用数字下划线;可以多次赋值
- 常量 const:声明后不允许重新赋值,一旦声明必须要赋值
- Es6新块级作用域 let:只能声明一次,不允许重复声明;不存在变量提升,声明的变量无法被外部访问
- 数据类型:原始类型和引用类型
原始类型分为:数值型,字符串型,布尔型,未定义型(undefined),空(null)
(1).
1 2 3 4 5 6 7 8 9 10 十进制
1 2 3 4 5 6 7 10 11 12 八进制,满八进一
1 2 3 4 5 6 7 8 9 a b c …f 十六进制,满16进一,f转换成10进制为15
var num1=012; //八进制数字是以0开头,打印出十进制为 10
var num2=0xf; //十六进制是以0x开头,打印出十进制为15
(2).
检测数据类型 typeof 数据
var a=12; console.log(typeof a); //number
(3).
查看任意一个字符的Unicode码
var b=‘你’; console.log(b.charCodeAt());
第二节
- 数据类型转换:隐式转换,强制转换
(1).隐式转换 在运算过程中自动发生数据转换
- 数字+字符串 数字转成字符串 1+‘2’ //‘12’
- 数字+布尔值 布尔值转成数字 true - ->1 false - ->0 3+true //4
- 字符串+布尔值 布尔值转成字符串 ‘5’+true //‘5true’
如果数值转换失败返回NaN,任何数值和NaN进行运算,结果还是NaN
(2).强制转换:
- 将任意类型转数值型 Number()
number(‘2’) //2 - 将浮点型和字符串型转整型 parseInt()
parseInt(‘4.3a’) //4 - 将字符串转为浮点型 parseFloat()
parseFloat(‘5,6a’); //5.6 - 将数值和布尔值转为字符串 toString()
var s=15;
console.log( s.toString() ); //‘15’
s.toString(16) //‘f’ 16代表进制
- 运算符
(1).算数运算符 + - * / ++ – %(取余)
console.log(6/3); //2
console.log(5%2); //1
(2).比较运算符 > < >= <= == != === !==
- 数字和字符串比较,字符串自动转成数值。
- 两个字符串比较,比较的是首个字符的Unicode码;
- NAN和任何值比较都是false
(3).逻辑运算符 &&(并且) ||(或者) !(非)
(4).位运算符:转成2进制再进行运算,然后列竖式就行对比
按位与(&):上下两位都是1,结果是1,否则是0
按位或(|):上下两位含有1,结果是1,否则是0
按位异或(^):上下两位不同是1,相同为0
按位右移(>>):删除二进制的最后一位,缩小到大概原来一半,原理:如果是偶数,直接除以2;奇数先减1再除以2
console.log(8>>2); //2,8转换成二进制为1000,右移2位,为2^1
console.log(6>>1); //3,缩小到原来一半
console.log(17>>1); //8,17的二进制为10001,删除最后一位为2^3
按位左移(<<):在最后一位补0,成倍增加,原理:在当前基础上乘2
console.log(8<<1); //16,2^4
(5).赋值运算符 = += -= *= /= %=
(6).三目运算符 条件表达式 ? 表达式1 : 表达式2
第三节
1.浏览器端参数
alert() 弹出警示(消息)框
prompt() 弹出输入框,点击取消返回null
2.程序分为:
(1). 顺序控制;选择执行;
① if语句
② if-else
③ if(…)else if(…){…}else{…}
④ switch(条件表达式){
case:
语句一;
}
注意:0 ‘’ undefined null NaN 默认转为false;
switch-case只能判断全等于的情况
(2). 循环执行