JS基础知识二
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对象知识补充:实例
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<!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>
如果我失败了,至少我尝试过,不会因为痛失机会而后悔