变量
变量:可以变的量
变量名要求:以字母、下划线、$开头,跟随字母、数字、下划线、$
结束语的分号:推荐每一句结束后带分号
变量可以连续分明,用英文的逗号分开
变量赋值:用等号为变量设置数值的类型,赋值时决定变量是何种数据类型
js是弱语言:声明式可以不设置变量的数据类型,赋值时决定变量是何种数据类型
注释的优点:保存备用代码,对代码进行解释
//js单行注释 /*js多行注释*/
数据类型:基本数据(简单数据)和引用定义(复杂定义)
基本数据:string(字符串)number(数字)Boolean(布尔值)undefined(未定义)null(空)
引用类型(复杂函数):function(函数)array(数组)object(对象)
验证数据类型:typeof
数据(null、array、object、用typeof验证不了)
基本数据类型和引用类型的区别:
储存位置不同:基本数据存储在栈中、引用数据存储在堆中
栈里面存储:变量和基本数据、引用类型的地址
堆里面存储:引用数据类型
存放顺序
栈里面的数据是先进后出,有先后顺序
堆中的数据无序存储
存储空间
所有的数据存放在内存中
栈中的数据由系统自动在内存中开辟空间,空间固定
堆中的数据是由程序员动态设置空间
多个变量可以访问同一个数据
一个变量不能同时访问多个数据据
数据类型的转换:
数据转换字符串:
强制转换:String(数据)
将数字隐式转换成字符串:数字+' ';
强制转换成布尔值:Boolean(数据)
false类型的数据:0、‘ ’、under fined、null、false、NaN,剩下的全是true
NaN:not a number,NaN不是数字,数据类型是number
强制转换成数字:number(数据)能转成数字的就转成数字,不能就是NaN
将数据隐式转换成数字:减)(-)乘(*)除(/),减零 除一 乘一
运算符:
算数运算符:+— × ÷ ++ — — += —= *= /= %
加减乘除的使用
1.数据进行四则运算是,将非数字自动转换成数字在进行计算
+:如果与字符串进行计算时,将数据转换成字符串,结果时字符串拼接
2.任何数字与NaN进行加减乘除,结果都是NaN
3.遵循先乘除,后加减,从左到右,先算括号里的。
x+=5在原来的基础上加5,时x=x+5的简写,代表重新赋值
%:取余数
++:递增1
i++:先执行,再增加
++i:先增加,在执行
var n=6;
console.log((++n)+(n++));//14=7+7
console.log((++n)+(n++)+n);//22=7+7+8
--:递减1
比较运算符:> < <= >= == ===
逻辑运算符:!表示否定
&&表示 与 和 并且 and,用于连接多个条件,当所有条件都成立时,结果才是true,有一个条件不成立时,结果就是false。
||或者,也适用于连接多个条件,任一条件成立时,结果时true,全部不成立时,结果是false。
不同类型的数据比较
与数字比比较:转成数字之后在比较大小
undefined、null不等于0
undefined==null
字符串与字符串之间的比较不用转换成数字,10>2,但是'10'<'2',原因是字符串比较大小时,比较的是ascll码。
==和===的区别:===除了验证值相等,还要比较数据类型
100=='100' true
100==='100' false
1==true true
1===true false
NaN==NaN false
isNaN()验证是否是非数字,true非数字,false代表数字
能用Number强制转换成数字的数据,结果就是false,否则就是true,null
条件语句:if……else,
if,如果
else,否则,否定前面假设的条件,
语法:
if(条件){
条件成立时执行
}
else{
条件不成立时执行
}
if(true)永远执行
if…else if…else
if语句中可以没有else if,也可以没有else,
else之后不能出现else if
if语句中的短路原则
前面条件满足时,不在判断其他条件
判断条件是||的时候,只要有一个满足时,后面的就不会执行
判断条件时&&的时候,前面条件不满足,忽略后面的条件
通过&&符号,实现if判断,将&&前面的看作if的条件,条件成立立即执行后面的值,不成立时结果是false,
var a=10,b=15,c=20;
a<b&&alert(b-a);如果a小于b,则弹出一个b-a的值(5);
缺点:不能执行多条语句
通过||符号,实现默认值的设置,||前面成立取前面,不成立取后面
var x=confirm()||100; 点确定x的值是true。点取消x的值是100
三元运算符:
条件?成立时执行:不成立时执行
m>n?console.log('大于20'):console.log('小于等于20')
就是⬇
var n=20;
var m=prompt('数字:');
if(m>n){
console.log('大于20')
}else{
console.log('小于等于20')
}
电话面试&&技术主管面试&&人资面试
电话面试(x)||技术主管面试(x)||人资面试(x)
js默认3个弹窗
prompt,输入弹窗,点击确认,结果是输入的内容,点击取消,结果是
赋值语句的结果是等号右边的数据
alert,弹窗,警告窗口,阻塞整个浏览器的操作,只能展示字符串。
confirm ,询问窗口('确定''删除')
语法
if…else
if…else if…else
条件?成立:不成立
a&&b
a||b,默认值
?? null运算符,与||类似
var a=0,
b=a||5;//当a是false类型时,取5,否则取a
b=a??5;//当a是under fined和null时,取5,否则取a
console.log(b);
switch语句
switch:分支
case:举例
default:默认
break;中断,不加break会导致后面条件失效,执行最接近break的结果
周一到周五是工作日,周六周日休息日
var x=new Date().getDay();
var str;
switch (x){
case 1:
case 2:
case 3:
case 4:
case 5:
str='工作日'
break;
default:
str='休息日'
break;
}
//零壹贰叁肆伍陆柒捌玖,输入一个数字打印对应的大写
//switch用于相等判断时,用的是===
var n=prompt('0-9');
switch(n*1){
case 0:
console.log('零');
break;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本