一,js是什么呢?
js全称是Javascript,它是前端的灵魂,是可以赋予页面生命力的脚本语言。可插入html中由浏览器执行。Javascript很容易学习。
二,变量,数据类型及操作
1.变量
变量通俗来讲就是可以改变量。
首先我们要了解下它的 命名规则:由字母,_,$或数字组成,并且第一个字母必须是字母,_,(我们通常用字母开头),我们也不能用一些关键字来、保留字来命名。
简单的变量声明如:var love = 520; => 声明符 变量名 赋值号 值
有变量就有常量,我们一般很少使用,我们可以用常量名全大写的方式与变量名进行区分。
2.数据类型
数据类型 | 函数名 | 值例如 |
---|---|---|
数字类型 | Number | 520 |
字符串类型 | String | “喜欢” |
布尔类型 | Boolean | true 和 false |
空 | null(非函数) | null |
未定义 | undefined(非函数) | var a ; |
对象类型 | Object | { 喜欢:520 } |
数组类型 | Array | [ “喜欢”,520 ] |
数字 | typeof 123 | number |
字符串 | typeof 'abc' | string |
布尔 | typeof true | boolean |
未定义 | typeof undefined | undefined |
函数 | typeof function () { } | function |
空 | typeof null | object |
数组 | typeof [] | |
对象 | typeof {} |
数字 | 123 instanceof Number | false |
字符串 | 'abc' instanceof String | false |
布尔 | true instanceof Boolean | false |
数组 | [ ] instanceof Array [ ] instanceof Object | true |
对象 | {} instanceof Object | true |
函数 | function () { } instanceof Function | true |
|
对象操作小技巧:我们可以用点操作符来获取属性名也可以设置扩展属性,用[ ]方法可以拓展和获取动态属性,例如:
var my={name:"ZS"};
var a='age';
my.[a]=20
3.属性操作符
名称 | 符号 | 规则 |
加 | + | 数字和字符串之间的加法计算,会先将数字隐式类型转换成字符串,再进行拼接 |
减 | - | 优先将数据转换成数字类型再进行计算,只有纯数字组成的字符串才可以进行正常转换,否则返回 NaN。如果数学运算中0做除法的分母,返回 Infinity 。 |
乘法 | * | |
除法 | / | |
取余 | % |
4.比较运算符
名称 | 符号 | 规则 |
大于 | > | 字符串之间的比较本质是按照 字母的 ASCII 码进行逐位比较的。true 可以当作 1 看待,false 可以当作 0 看待。 |
小于 | < | |
大于等于 | >= | |
小于等于 | <= | |
相等 | == | 会优先将字符串转成数字,再进行比较会出现隐式类型转换。(尽量不要使用) |
不等 | != | |
全等 | === | 先判断类型是否相同,再判断值是否相同 |
不全等 | !== |
特别的:NaN==NaN false null == undefined true
5.逻辑运算符
真值:自身为 true 或者可以被转换为 true 的值叫真值,其他的值都是假值
假值:false、空字符串' '、null、undefined、NaN、数字0
名称 | 符号 | 规则 |
与 | && | 只有每一个表达式的值都是 true 或者可以转换为 true,返回最后一个真值,否则返回第一个假值 |
或 | || | 只有每一个表达式的值都是 false 或者可以转换为 false,返回最后一个假值,否则返回第一个真值 |
非 | ! | 会先将计算的值进行布尔值转换,然后再取反 |
三,函数基础
1.函数种类
声明式函数
function fo() {
console.log('fo');
}
// 调用函数
fo();
匿名函数
var fn = function () {
console.log('fn');
}
fn();
如果传递的实参数量小于形参数量,没有获取到值的参数按 undefined 处理
如果传递的实参数量大于形参数量,形参按顺序接受值之后,多余的值会被忽略
如果函数内部没有给定return返回值,函数执行的结果按 undefined 处理
2.条件语句
if 条件语句 | switch条件语句 |
if( 判断条件表达式 ) { 当条件为真时,执行的代码片段 } else { 当条件为假时,执行的代码片段 } 三目运算 返回值 = 条件 ? 真判断值 : 假判断值 | switch (变量值) { case 判断值1:{返回值;break}, case 判断值2:{返回值;break}, case 判断值3:{返回值;break}, ........ default: {都不是的返回;} }
// 最后的 default 是可选的,类似于 if 语句中最后的 else default: { console.log('其他日期'); } |
3.循环语句
for 循环语句 | while 循环 | do while循环 |
使用场景:有明确的重复次数 | 使用场景:没有次数要求,只是满足条件就会结束 | |
for(声明计数起始值; 判断循环结束条件; 累加次数 ) { 需要循环执行的代码片段 } | while(是否进行下一循环的判断条件) { 条件为真时执行的循环代码 } | do { 循环体 } while( 判断条件 ); 先执行一次循环体 |
continue:跳过当前循环剩余步骤,直接进入下一循环
break:提前结束循环