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对象知识补充:实例

<!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>
JS_object
如果我失败了,至少我尝试过,不会因为痛失机会而后悔
原文地址:https://www.cnblogs.com/tangcode/p/11899039.html