一.数据类型
1.八种基本数据类型:
- Number:number类型代表整数和浮点数。Infinity、-Infinity和NaN分别表示无穷大、无穷小和计算错误(一个不正确的或者一个未定义的数学操作所得到的结果)
- BigInt:表示任意长度的整数
- String:字符串类型,‘’ “” ``中包含,
``中${…}表达是计算结果为字符串一部分,{}中可以放变量或者表达式
- Boolean: 仅包含两个值,false和true
- ‘null’值:表示“无”、“空”和“值未知”
- ‘undefined’值:表示未被赋值
- object:用于存储数据集合和更复杂的实体。
- symbol:创建对象的唯一标识符
2.类型判断和转换
- 类型判断
- typeof运算符 两种使用方法:1.
typeof x
;2.typeof(x)
- 类型转换
-
数字型转换
算术函数和表达式会自动进行number类型转换;一元运算符+;
parseFloat()
返回一个浮点数;parseInt()
返回一个整数 -
字符串转换
全局方法
String()
,数字类型和Boolean类型可以使用.toString()
方法转为字符串
二.循环和‘switch’
- while:条件为真开始循环
while(condition){
...
}
- do…while…:先执行一次循环,之后判断条件,为真则执行循环
do{
...
}while(condition)
- for循环:(开始;条件;步骤)
for(begin;condition;step){
...
}
-
break/continue
:break停止循环;continue执行下一次循环可以用标签表示循环,标签是跳出嵌套循环以转到外部的唯一方法
labelName:for(...){
....
break<labelName>
....
}
- 'switch’语句
语法
switch(x) {
case 'value1': //if(x === 'value1')
...
[break]
case 'value2': //if(x === 'value2')
...
[break]
default:
...
[break]
比较x值与case是否严格相等,相等则执行下面的代码块,不符合则继续比较,直到语句末尾,如果都不符合,则执行default代码块(default存在)。
三.函数
- 函数声明:
function showMessage(form, text='no text given') {
let content = form + ":" + text
return content
}
alert(showMessage('Hello')) // Hello:no text given
showMessage('Hello','every') // Hello:every
function创建函数关键字;showMessage函数名;()里面包含参数:no text given
为参数text的默认值,如果text没有其他值传递进来,就使用默认;{}里面包含代码(函数体);新函数可以通过名称调用:showMessage()
- 函数表达式:
let sayHi = function() {
alert( "Hello" )
}
- 箭头函数:
let func = (arg1,arg2,...argN) => expression
四.对象
- 对象存储属性(键值对),其中:属性的键必须是字符串或者symbol,值可以是任意类型
- 对象操作
-
访问属性:点符号
obj.property
;方括号obj['property']
,方括号允许从变量中获取键,例如obj[varWithKey]
-
删除属性:
delete obj.prop
-
检查是否存在给定键的属性:
'key' in obj
-
遍历对象:
for(let key in obj)
循环 -
克隆和合并对象:
Object.assign()
语法:
Object.assign(dest,[src1,src2,src3,...])
dest指目标对象,src为源对象,调用结果返回dest深拷贝 检查obj[key]的值,如果是对象就复制它的结构