JS 操作符、控制流程、循环、字符串/数组方法

时间:2023-11-12 10:09:50

操作符

  • 算术运算符:+ 、- 、 * 、 / 、 %、++、--
  • 赋值运算符:= 、+=、-=、 *=、/=、%=
  • 比较运算符:>、>=、<、<=、!=、==、===(全等,数据类型也会去比较)
  • 逻辑运算符:&&(与)、||(或)、! (非)

流程控制

  • 以下在进行判断的时候为假
    • 0
    • null
    • undefined
    • NaN
    • "" 空字符串
    • false
  • if else
if (...) {
...
} else if(...) {
...
} else {
...
}
// 三目运算符
name ? console.log("存在:"+name) :console.log("不存在")
//多条件下的三目运算符
0 ? console.log(1) : 3>4 ? console.log(2) : console.log(3)
  • switch
var choice = 1;
switch (choice) {
case 1:
document.write(1);
//不写break时,当满足条件是,不再判断,会执行后面所有语句
break;
case 2:
document.write(2);
break;
default:
document.write("都不满足");
}

循环

  • for循环
//九九乘法表
for (i=1; i<=9; i++){
for(j=1; j<=i; j++){
document.write(j+"*"+i+"="+i*j+'&emsp;');
}
document.write("<br>");
}
  • while循环
while (true){
document.write(1);
break;
}
  • do while循环
do{
document.write(1);
}while (1<0)

字符串方法

  • 长度:length
  • 下标: [] /charAt()
  • 替换:replace()
  • 分割:split()
  • 大写:toUpperCase()
  • 小写: toLowerCase()
  • 索引:indexOf()
  • 截取:substring()
  • 切割:slice()
var str_test = "Which Love Love";
document.write(str_test.length+'<br>');//length
document.write(str_test[0]+'<br>');//[]
document.write(str_test.charAt(1)+'<br>');//charAt()
document.write(str_test.replace("Love","===")+'<br>');//replace()
document.write(str_test.split(' ')+'<br>');//split()
document.write(str_test.toUpperCase()+'<br>');//toUpperCase()
document.write(str_test.toLowerCase()+'<br>');//toLowerCase()
document.write(str_test.indexOf('L',8)+'<br>');//indexOf()
//slice()不会自动比较参数的大小
document.write(str_test.slice(0,5)+'<br>');//slice()
//substring()会自动比较参数的大小
document.write(str_test.substring(5,0)+'<br>');//substring()

数组方法

  • 长度:length
  • 下标: [ ]
  • 追加:push()
  • 添加:unshift()
  • 后删:pop()
  • 前删:shift()
  • 索引:indexOf()
  • 切片: slice()
  • 替换:splice()
  • 拼接:join()
  • 排序:sort()
  • 反向:reverse()
  • 连接:concat()
var arr = ['one','two','three','four','five'];
document.write(arr.length+'<br>');//length
document.write(arr[0]+'<br>');//[]
arr.push('six');//push()
arr.unshift('zero');//Unshift(),从前面添加
arr.pop();//pop()
arr.shift();//shift()
document.write(arr.indexOf('two')+'<br>');//indexOf()
document.write(arr.slice(0,3)+'<br>');//slice()
//将新的值,替换从下标为1的开始的两个值
document.write(arr.splice(1,2,'a','b','c','d')+'<br>');//splice()
document.write(arr.join('==')+'<br>');//join()
document.write(arr.sort()+'<br>');//sort()
document.write(arr.reverse()+'<br>');//reverse()
var arr_temp1=[1,2];
var arr_temp2=[3,4];
document.write(arr.concat(arr_temp2,arr_temp1)+'<br>');//concat()

其它方法

  • 转为字符串:toString()
  • 数字四舍五入:toFixed()
  • 判断NaN:isNaN()
  • 判断数组:Array.isArray()
  • 整数:parseInt()
  • 浮点数: parseFlost()
  • 数字:Number()
var num = 12.8;
var a ='0x1234';
var b ='343.324';
document.write(typeof toString(num)+'<br>');//toString()
document.write(num.toFixed()+'<br>');//toFixed()
document.write(isNaN(num)+'<br>');//isNaN()
document.write(Array.isArray(num)+'<br>');//isArray()
document.write(parseInt(a)+'<br>');//parseInt()
document.write(parseFloat(b)+'<br>');//parseFloat()
document.write(Number(b)+'<br>');//Number()