日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JS语法(二)

發布時間:2024/8/26 javascript 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS语法(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JS變量

  • var 變量名 = 變量值;//自己會判斷什么類型
  • 一個好的編程習慣是,在代碼開始處,統一對需要的變量進行聲明。
  • var name =?“xiaosan”, age = 22, address =?“owrhohfw”;?
  • var a = 10; ?
  • var b; ? //?當一個變量沒有被賦值的時候,是undefined
console.log(typeof b); ?//打印a的類型
  • 重新聲明JS變量,改變量的值不會丟失
    • var name = “Siri”;
    • var name; ? // 依然是Siri
  • JS變量生命周期
    • 局部變量在函數運行以后被刪除。
    • 全局變量在頁面關閉后被刪除。
  • 如果把值賦給未聲明的變量,該變量將被自動作為全局變量聲明,即使在函數內執行。
    • carName = “Volvo”;

?

數據類型

  • 不能寫數據類型,只能用var,也可以省去var 直接寫
  • number:所有數字,比如小數\整數,JS數字均為64位
  • object:對象類型
  • string:字符串類型,用雙引號“aaa”或者單引號‘ aaa’, 建議單引號 ?參考手冊:http://www.w3school.com.cn/jsref/jsref_obj_string.asp
  • function:函數類型 ? ??var msg = '我是 '
  • boolean : true / false
  • var age = 20;
    var name = 'xiaosan';
    height = 1.88;
    var msg = '我是' + name + ',' + age + '歲,身高是' + height;

?

JS運算符

  • 算數運算符
    • +?
    • -
    • *
    • /
    • %
    • ++
    • --
  • 賦值運算符 ?x = 10; ?y = 5;
    • =
    • +=
    • -=
    • *=
    • /=
    • %=
      • x%=y ? ? ?x = 0
  • 用于字符串的 + 運算符
    • + 運算符用于把文本值或字符串變量加起來(連接起來)。
    • 想在兩個字符串之間增加空格,需要把空格插入一個字符串之中:
    • 或者把空格插入表達式中:
      • tex3 = tex1 + ”? “ +text2;
    • 如果把數字與字符串相加,結果將成為字符串。
  • 比較運算符 ? 給 x = 5
    • == ? ? ?等于 ?
      • x == 8 ?為false ? ? ? ? ? ? ? ? ? ? ??
    • === ? ?全等(值和類型)
      • x === 5 為true;x === “5”為false
    • !=
    • >
    • <
    • >=
    • <=
  • 邏輯運算符
    • &&
    • ||
    • !
  • 條件運算符
?運算符從左到右

  • 其他數據類型和字符串相加,會變成一個新的字符串
  • var str1 = 10+10+'10'; ? //2010
    var str2 = '10'+10+10; ? //101010
    var str3 = '10'+(10+10); ? //1020

?

數組

  • 數組中可以放任意類型的數據
  • 寫法一:
    • var cars = new Array();
    • cars[0] = "Audi";
      cars[1] = "BMW";
  • 寫法二:
    • var newArr = [10, -5, age, name, result, score, ['哈哈哈', 'dewdew']];
  • 寫法三:
    • var names = new Array("jack", "rose", "dd");
  • 輸出數組中的內容,遍歷有兩種方式
    • for
    • for in
  • 刪除最后一個元素,添加一個新的元素到數組中 pop()和push()
    • newArr.pop(); //刪除數組中最后的元素
    • newArr.push([‘添加一個新的元素']);

apply()

  • 語法:fun.apply(thisArg, [argsArray]) ?
    • ?參數一:thisArg
      • 在 fun 函數運行時指定的 this 值。
      • 如果這個函數處于非嚴格模式下,則指定為 null 或 undefined 時會自動指向全局對象(瀏覽器中就是window對象),
      • ?同時值為原始值(數字,字符串,布爾值)的 this 會指向該原始值的自動包裝對象。
    • 參數二:argsArray
      • ?一個數組或者類數組對象,其中的數組元素將作為單獨的參數傳給 fun 函數。
      • 參數限制在個數65536
    • var newNumbers = [10,99,-21,3];
      // 取出最小值
      var minNumber1 = Math.min(10,32,34,4554,-9); ?// Math.min([10, 20,1]) 這樣不行,min不能接收數組
      var minNumber = Math.min.apply(null,?[10,99,-21,3]); // apply 可以接收
      // 取出最大值
      var maxNumber = Math.max.apply(null, newNumbers);

?

Undefined和Null

  • Undefined這個值標示變量不含有值。可以通過將變量的值設置為 null 來清空變量。
  • cars = null;

?

定義函數? ?

  • 注意:兩個相同的變量或者函數名,后面的會覆蓋前面的。JS不存在重載
  • function 函數名(參數..) { //參數只能寫var 所以可以省去var,直接寫參數名
    ??? //函數體
    }

?

  • function login(username, pwd) {
    ??? console.log(username);
    ??? console.log(pwd);
    ??? return 110; //返回值可以直接寫
    }
    //直接調用
    login(xiaosan,123456);

?

  • function sum(sum1, sum2, sum3) {
    ??? return sum1+sum2+sum3;
    }
    console.log(sum(10, 20)); ? //number+undefined 結果為NaN==Not a Number

??

  • // 萬能加法?
    function sum1(numbers){
    ??? var count = 0;
    ??? for(var i=0; i<numbers.length; i++){
    ??????? count += numbers[i];
    ??? }
    ??? return count;
    }

    var numbers = [12,23,'10'];
    var result1 = sum1(numbers);
    console.log('result1---->',result1);
  • result1----> 3510 ?// 字符

?

  • 匿名函數
    • var test = function (){
      ??? console.log('我是匿名函數');
      }
      // 如何調用匿名函數
      test();

?

  • 構造函數
    • // 構造函數方式一
      function Dog(){
      ??? this.name = null;
      ??? this.age = null;
      ??? this.friends = [];
      ??? this.eat = function(someWhere){
      ??????? console.log(this.name + '跑' + someWhere);
      ??? }
      }

      // 批量產生狗
      var dog1 = new Dog();

      // 賦值
      dog1.name = 'laoda';
      dog1.age = 19;
      dog1.friends = ['laoer', 'laosan'];
      dog1.eat('骨頭');

?

  • // 構造函數方式二
    function Dog(name, age, friends){
    ??? this.name = name;
    ??? this.age = age;
    ??? this.friends = friends;
    ??? this.eat = function(someThing){
    ??????? console.log(this.name + '吃' + someThing);
    ??? }
    }

    // 創建新的對象
    var dog2 = new Dog('laoda', 1, ['laoer']);
    console.log(dog2);

??

內置對象 arguments

  • arguments 是 JavaScript 里的一個內置對象,所有函數都有自己的一個arguments對象,它包含了函數調用的所有參數,它是一個object類型。
  • 我們可以用調用數據的方法來調用arguments。比如length,還有index方法。但是數 組的push和pop對象是不適用的。
  • 將 arguments 轉為數組
    • var args = Array.prototype.slice.call(arguments);
  • function sum2(){
    ??? var count = 0;
    ??? for(var i=0; i<arguments.length; i++){
    ??????? count += arguments[i];
    ??? }
    ??? return count;
    }

    var result2 = sum2(10,20,40,30);
    console.log('result2--->', result2);
  • result2---> 100 ?// number
  • function sum( ) {
    ??? for (var i = 0, count = arguments.length; i < count; i++) {
    ??????? var tmp = arguments[i];
    ??????? if (typeof tmp == 'number') { ? //判斷是否為number類型
    ??????????? num += arguments[i];
    ??????? }
    ??? }
    ??? return num;
    }
    console.log(sum('10', 10, 20, 'xiaosan'));? //結果為30
  • 而對于string類型的數字,最快的變為number類型的方式是乘以1? ‘10’* 1;
  • 也可以掉函數? parseFloat('10'); ? // number類型的 10
JS 標簽

  • 可以對JS語句進行標記
  • cable : 語句
  • cars=["BMW","Volvo","Saab","Ford"];
    list:
    {
    ??? document.write(cars[0] + "<br>");
    ??? document.write(cars[1] + "<br>");
    ??? document.write(cars[2] + "<br>");
    ??? break list;
    ??? document.write(cars[3] + "<br>");
    ??? document.write(cars[4] + "<br>");
    ??? document.write(cars[5] + "<br>");
    }
  • BMW
    Volvo
    Saab

?

typeof?

  • 用于判斷變量的真實類型
  • var address = 'hhhhhh';
    var num = 22;
    console.log(typeof address, typeof num);
  • string number

?

?

JS 語法的靈活性

  • 邏輯或 ||?
    • var name1 = '';
      var name2 = 'name2';
      var name3 = 'name3';

      var newName = null;
      // 判斷if(name1){
      ??? newName = name1;
      }elseif(name2){
      ??? newName = name2;
      }elseif(name3){
      ??? newName = name3;
      }
      console.log(newName); // name2

?

  • 新的做法
    • newName = name1 || name2 || name3;
      console.log(newName); // name2
  • 邏輯與 &&?
    • var age = 18;
      if(age>18){
      ??? console.log(可以去網吧');
      }

??

  • 條件 && {
    ?? ...
    ?}
    (age >18) && console.log(可以去網吧');

?

轉載于:https://www.cnblogs.com/10-19-92/p/5780800.html

總結

以上是生活随笔為你收集整理的JS语法(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。