2018-02-04
介绍
输出语句
- 常用输出语句
alert("弹框输出内容");
console.log("在控制台输出内容");
document.write("在页面输出内容");
代码注释
-
//单行注释
-
/* 多行注释 */
- 书写多行注释的时候注意不要发生嵌套
- /** + 回车 用于函数的说明
书写位置
可以写在HTML页面内的任意位置或者从外部引用(可以类比样式代码的书写位置)
script标签属性
-
type类型
-
src 地址
-
async异步加载,加载完成立即执行
-
defer异步加载,页面上的东西都执行完了才执行
变量
变量的命名规范
-
区分大小写
-
不能是关键字和保留字
-
由字母、数字、下划线、$ 组成且开头不能是数字
tips:关键字和保留字那么多,记不住怎么办?
首先,关键字就是你平时用的那些,而保留字在非严格模式下不能使用的只有:
class enum extends super const export import
而且,其实如果你使用了关键webstorm是有提示的,但是常见的几个最好还是记住
- 规范(建议遵守)
-
变量的名称要有实际意义
-
规则中所说的字母包括ASCII和Unicode字母字符,如汉字,但不推荐使用
-
变量的命名遵守驼峰命名法,首字母小写,第二个单词的首字母大写 例如:userName
变量的声明赋值
书写格式
var 变量名 = 值
练习
-
交换两个变量的值
-
不使用第三个变量
弱类型
弱类型
JavaScript 是弱类型的语言,即声明不同数据类型的变量使用同一个关键字 var
数据类型
声明的时候不用考虑类型,但是处理和计算的时候要考虑类型
- 基本数据类型
-
number数值型
-
string字符串型
-
boolean布尔型
-
undefined 未定义
-
null空
- 复杂数据类型
- object对象
使用typeof关键字可以查看变量的数据类型
数值类型
- 字面量
var num = 数字;
- 浮点数
-
计算浮点数时会丢失精度
-
我们通常用整数的计算来表示浮点数的计算
-
不要以两个浮点数是否相等作为条件判断的依据(判断范围还是可以的)
- NaN
-
NaN是数值类型
-
NaN不等于自身
i+ sNaN( ) 不是有意义的数值返回true
字符串类型
- 字面量
var str = “字符串”;
- 字符串的长度
str.length
- 转义符
-
\n 换行
-
\’单引号
-
\”双引号
-
\斜杠
- 字符串的不可变性
由于字符串有不可变性,在大量拼接字符串的时候会非常消耗内存。
布尔类型
所有类型的值都可以转化成布尔值
- 会转化成false的值有:
-
空字符串
-
数值零
-
NaN
-
undefined
-
null
undefined类型
- 表示声明但未赋值的变量
类型转换
转换成字符串
- 将任意类型转化为字符串
-
String(值)
-
大部分类型都有
toString
方法
值.toString()
- 小技巧
值+””
转化成数值型
- 将任意类型转化为数值型
Number(值)
- 将字符串转化为数值
parseInt(“字符串”)
parseFloat(“字符串”)
- 小技巧
值-0
转化成布尔值
- 将任意类型转化为布尔值
-
Boolean(值)
-
条件判断中会自动转换
if(值)
- 小技巧
!!值
操作符
一元运算符
- 递增和递减
-
递增++
-
递减--
a++ 先参与运算 后自加
++a 先自加 后参与运算
逻辑运算符
- 逻辑运算
&&和||都采取短路运算,即第一个能够决定结果就不再看第二个了
&& 的要求比较宽松 要两个都是true才是true 所以看到第一个是false就没有必要继续完后看了
console.log(false && 不管了);
|| 的要求比较严格 要两个都是false才是false 所以看到第一个是true就没有必要继续完后看了
console.log(true || 不管了);
- 短路运算(了解)
&&和||不但可以操作布尔类型的值,对其他类型的值也可以进行操作,并返回可以决定表达式结果的那个值。
赋值运算符
a+=b 等价于 a=a+b
运算符的优先级
尽量记,记不住可以查,或者使用括号
语句
选择语句if
if (condition) {
statement1
} else if (condition) {
statement2
} else {
statement3
}
@选择语句If
三元表达式
表达式1 ? 表达式2 : 表达式3
选择语句switch
switch (expression) {
case value:
statement
break;
case value:
statement
break;
default:
statement
}
循环语句for
for (initialization; expression; post-loop-expression){
statement
}
initialization表示:初始化表达式
expression表示:控制表达式
post-loop-expression表示:循环后表达式
三者都是可选的
break和continue
break跳出当前循环,执行循环后的语句
continue跳出当前循环,继续执行循环
循环语句while
- while语句 先判断后执行
while(expression) statement
- do while 语句 先执行后判断
do {statement} while (expression);