JS控制语句
switch 语句用于基于不同的条件来执行不同的动作
<script> function myFunction(){ var x; var d=new Date().getDay(); switch (d){ case 0:x="今天是星期日"; break; case 1:x="今天是星期一"; break; case 2:x="今天是星期二"; break; case 3:x="今天是星期三"; break; case 4:x="今天是星期四"; break; case 5:x="今天是星期五"; break; case 6:x="今天是星期六"; break;
defult:x="期待周末"; }
//每条case语句过后必须要加上break,当case语句里面的条件不满足时,执行defult里面的内容
//break 跳出当前循环或者语句,continue中断本次循环进行下次循环
document.getElementById("demo").innerHTML=x; } </script>
</body> </html>
JS异常及手动异常捕获
<script> function () { try{ throw("手动抛出异常"); } catch(err){ console.log("异常",err) } finally{ alert("不论是否发生异常都会执行") } } </script>
JS this关键字
面向对象语言中 this 表示当前对象的一个引用。
但在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变。
- 1、在对象方法中, this 指向调用它所在方法的对象。
- 2、单独使用 this,它指向全局(Global)对象。
- 3、函数使用中,this 指向函数的所属者。
- 4、严格模式下函数是没有绑定到 this 上,这时候 this 是 undefined。
- 5、在 HTML 事件句柄中,this 指向了接收事件的 HTML 元素。
- 6、apply 和 call 允许切换函数执行的上下文环境(context),即 this 绑定的对象,可以将 this 引用到任何对象。
具体实列见菜鸟教程(https://www.runoob.com/js/js-this.html)
JS对象知识补充:实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<button onclick="history.back()">back</button>
<script>
//在javascript中所有的对象都继承自Object对象
//创建字符串的两种方式
var str1="hello";//已基本数据类型进行创建
var str2=new String("hello2");//按照堆的方式,进行字符串对象创建
/*<!--console.log(typeof str1)-->
<!--console.log(typeof str2)-->*/
//字符串的属性
console.log(str2.length)
//字符串的方法
//编排方法
//console.log(str1.blood())
// //截取字符串 substring
// console.log(str1.substr(1,3))
// console.log(str1.substring(1,3))
// console.log(str1.slice(1,4))
// // ---------Array-----------
// //创建方式
// var arr1=[1,"hello",{"name":"alex"},[11,2]]
// var arr2=new Array(4)//限定数据大小size=4
// var arr3=new Array(1,2,3,4,5)
// console.log(typeof arr1)
// console.log(typeof arr2)
// console.log(typeof arr3)
// //Array对象的属性
// console.log(arr1.length)
// //Array对象的方法
// //join方法拼接,返回一个字符串
// var arr5=[1,2,3]
// console.log(typeof arr5.join("**"))
// //Tostring(),Object对象所拥有的方法,将其他类型转换为字符串
// console.log(arr1.toString())
// console.log(typeof arr1.toString() )
// //concat()
// var arr5=[1,2,3]
// console.log(typeof arr5)
// var ret3 =arr5.concat([5,66])
// console.log(ret3)
//reverse 反转
var arr6=[23,45,37,100,1000]
console.log(arr6.reverse())
console.log(arr6.sort())//按最高位数字排序
function f(a,b) {
// body...
if(a>b){
return 1
}
else if(a<b){
return -1
}
else{
return 0
}
}
function f2(a,b){
return a-b
}
console.log(arr6.sort(f))
console.log(arr6.slice(1,4))
//删除子数组 x.splice(start,deleteCount,value)
//start:从哪个位置开始 deleteCount删除的个数
//数组的进出:栈操作
//push pop -->后进先出
// var arr7=[1,2,3];
// arr7.push(7,8,9)//在数组末尾添加数据
// arr7.push([12,34,78])
// console.log(arr7)
// console.log(arr7.pop());
//shift unshift -->栈操作后进先出
var arr8=[4,5,6]
arr8.unshift(11,222);
arr8.unshift(true,{"name":"alex"});
console.log(arr8)
arr8.shift();
console.log(arr8)
</script>
</body>
</html>