标识符
所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。标识符可以是按照下列格式规则
组合起来的一或多个字符:
第一个字符必须是一个字母、下划线(_)或一个美元符号($);
其他字符可以是字母、下划线、美元符号或数字
注释
// 单行注释
/这是一个多行(块级)注释/
数据类型
基本数据类型
Undefined、Null、Boolean、Number和 String。
引用数据类型
Object
typeof操作符
来检测给定变量的数据类型
“undefined”——如果这个值未定义;Undefined 类型只有一个值,即特殊的 undefined。
‘null’——如果这个值为空; Null 类型是第二个只有一个值的数据类型,这个特殊的值是 null。
“boolean”——如果这个值是布尔值;Boolean 类型的字面值 true 和 false 是区分大小写的。也就是说,True 和 False(以及其他的混合大小写形式)都不是 Boolean 值,只是标识符。
“string”——如果这个值是字符串;字符串可以由双引号(")或单引号(’)表示,字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。
\n 换行 \t 制表 \b 空格 \r 回车 \f 进纸 \ 斜杠
number"——如果这个值是数值;Number 类型(整数和浮点数值)除了以十进制表示外,整数还可以通过八进制(以 8 为基数)或十六进制(以 16 为基数)的字面值来表示。
NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数
未返回数值的情况(这样就不会抛出错误了)。
“object”——如果这个值是对象或 null;其实就是一组数据和功能的集合。对象可以通过执行 new 操作符后跟要创建的对象类型的名称来创建。
数据类型转换
其他类型 —》数值类型
string boolean null undefined --->number
#1: 转换为数值类型的方法 number()
Number( '34.567' )
Number('234')
234
Number('23.456')
23.456
Number(true)
1
Number(false)
0
Number(undefined)--->NaN
NaN # not a number
isNaN() is not a number 判断这个值是否是数值 如果是数值得话返回false 不是的话返回true
Number(null)
0
Number('1234def') ---> 结果:NaN 只要不是数字 都不能进行转换
# 2: parseInt() ---》其他类型(字符串。浮点)转整数
parseInt(23.456)
23
parseInt('123')
123
# parseInt('1234def')
1234
parseInt('1234def1324')
1234
parseInt('a1234def1324')
NaN
# 3:parseFloat() ===>转浮点
parseFloat(34)
34
parseFloat(34.890)
34.89
parseFloat('324.89')
324.89
# parsetInt parserFloat 尽自己所能 Number() 局限
其他类型转布尔类型
哪些值可以转换为0值?
怎么转换 Boolean( )
Boolean('wqfwe')
true
Boolean(-400000)
true
Boolean(0)
false
Boolean(null)
false
Boolean(undefined)
false
Boolean('')
false
Boolean(false)
false
Boolean("false")
true
其他类型转字符串
对象.toString()
String()
a.toString()
"10"
true
true
true.toString()
"true"
String(null)
"null"
String(undefined)
"undefined"
# 调用toString()不能转换null,undefined 但是String()可以
二:运算符
#1 :算术运算符:(二元)
+ - * / % (* / % + -)
5%4 == 1
-1%4 == -1
1 % (-4) == 1
-7%12 = -7
# 2: 逻辑运算符
&& || ! 表达式1 || 表达式2
var a = 10;
a > 10 && a = 20 表达式1已结为false 所以表达式2 不进行
console.log(a) //10
!0 = 1 !1 = 0 取反
#3:关系运算符
== != >= <= > < === 全等 !== 全不等
i+=1 ===> i= i+1
== 只是值相同即可 ,可以类型不相同 10 == '10' true
=== 值和类型均相同 10 === '10' false
# 4:赋值运算符+= -= %= /= *= = 等于 右结合性
# 5:
自加 i++ ++i
自减 i-- --i
三大结构
顺序结构:
输入语句 输出语句 赋值
选择结构:
if switch
if 全面
if(判断条件){ # ( 条件---》任意表达式) true 执行{}里代码 false 不执行{}里代码
满足条件执行的判断语句
}
# 单分支:
if(今天下雨){
我就拿伞;
}
#if else 双分支
if(今天下雨){
我就拿伞;
}else {
我就不拿伞;
}
# 多分支 if-elseif-else
switch 清晰 处理流程清晰的选择
switch(条件){ # 条件最终结果只能整型或字符串 === 全等
case 表达式1:
代码;
break;
case 表达式2:
代码;
break;
case 表达式3:
代码;
break;
default: ===>else 处理所有剩余情况
代码;
}
# case 和default可以任意位置 并且default可有可无
var a = prompt('请输入')//5--10
switch(a){
case 5:
console.log('a的值是5')
break;
......
case 10:
console.log('a的值是10')
break;
}
循环结构:
for while do-while
三要素:1:初始值
2:循环控制条件
3:步长增量
# for
for(赋初值;控制条件;步长){
循环体;
}
var sum = 0;
for(var i = 0(表达式1);i<=100(表达2);i++(表达式3)){
sum += i;(表达4)
}
执行顺序 # 1--》2--》4---》3--》2---》4---》3---》2.....直到表达式2为false则跳出循环
#2
var i =0,sum=0;
while(i<=100){
sum+=i;
i++;
}
# 区别 for 和 while
for用在哪 循环次数明确的情况(顺序查找)
while可以用在循环次数不明确的情况(二分查找 顺序查找)
# do--while
赋初值
do{
循环代码;
增量;
}while(控制条件);
while()循环先判断后执行
do-while()先执行后判断
var num = prompt('输入yes/no')
while(num==='no'){
游戏的代码
}
do {
游戏的代码
}while(您要继续还是退出?yes/no);