整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          21html模版里的if判斷語句

          家好,html模板的判斷語句和Python里的寫法是一樣的,只不過每一行需要包裹在花括號和百分號里。

          ·從視圖函數里傳遞一個名稱為user的數據,user變量的值輸入小鐵,在html文件里判斷。如果user返回了數據顯示歡迎你小鐵,否則如果沒有顯示數據顯示請登錄。

          ·最后用and if來閉合判斷語句,運行Web服務,在瀏覽器里查看效果。因為user這個變量是有數據的,所以前端顯示的歡迎您小鐵。將user變量的值改成無,回到瀏覽器查看效果,這個時候瀏覽器顯示的是請登錄。

          這就是html模板文件里if判斷語句的使用方法。

          法1:使用isNaN()函數

          isNaN()函數是js自帶的全局函數,isNaN() 函數用于檢查其參數是否是非數字值。

          如果 值x 是特殊的非數字值 NaN(或者能被轉換為這樣的值),返回的值就是 true;如果 值x 是其他值,則返回 false。

          isNaN()的缺點就在于 null、空格以及空串會被按照0來處理

          NaN: Not a Number

          <script>
          document.write(isNaN(123));  //數字      ----false
          document.write(isNaN(-1.23));  //數字    ----false
          document.write(isNaN(5-2));  //數字      ----false
          document.write(isNaN(0));  //數字        ----false
          document.write(isNaN("Hello"));  //字符串 ----true
          document.write(isNaN("2005/12/12"));  //字符串----true
          </script>
          12345678

          缺點:isNaN()會將 null、空格以及空串按照0來處理,所以檢查不嚴謹。

          所以用加工一下,和typeof運算符一起使用。

          示例:

          // true:數值型的,false:非數值型
          function myIsNaN(value) {
             return (typeof value === 'number' && !isNaN(value));
          }
          myIsNaN(10);      ----true
          myIsNaN(null);    ----false
          myIsNaN( );      ----false
          myIsNaN();       ----false
          12345678

          注意:如果是 ‘36.3’,typeof value === ‘number’,會返回false,如果想字符串類型的數字也返回true,可以用下面的方法3

          方法2:使用正則表達式

          (1)、校驗只要是數字(包含正負整數,0以及正負浮點數)就返回true

          /**
          * 校驗只要是數字(包含正負整數,0以及正負浮點數)就返回true
          **/
          
          function isNumber(val){
          
              var regPos = /^[0-9]+.?[0-9]*/; //判斷是否是數字。
            
              if(regPos.test(val) ){
                  return true;
              }else{
                  return false;
              }
          }
          1234567891011121314

          (2)、校驗正負正數就返回true

          /**
          * 校驗正負正數就返回true
          **/
          
          function isIntNum(val){
              var regPos = / ^\d+$/; // 非負整數 
              var regNeg = /^\-[1-9][0-9]*$/; // 負整數
              if(regPos.test(val) && regNeg.test(val)){
                  return true;
              }else{
                  return false;
              } 
          }
          12345678910111213

          方法3:利用parseFloat()的返回值

          parseFloat() 函數可解析一個字符串,并返回一個浮點數。

          該函數指定字符串中的首個字符是否是數字。如果是,則對字符串進行解析,直到到達數字的末端為止,然后以數字返回該數字,而不是作為字符串。

          用法:將參數中指定的字符串解析成為一個浮點數字并返回。

          /**
          * 驗證數據 是數字:返回true;不是數字:返回false
          **/
          
          function Number(val) {
            if (parseFloat(val).toString() == "NaN") {
              
              return false;
            } else {
              return true;
            }
          }
          
          
          isNaN(val)不能判斷空串或一個空格
          如果是一個空串、空格或null,而isNaN是做為數字0進行處理的,
          而parseInt與parseFloat是返回一個錯誤消息,這個isNaN檢查不嚴密而導致的。

          以上就是JavaScript如何判斷是否為數字?的詳細內容,更多請關注html中文網其它相關文章!

          參考
          https://m.html.cn/qa/javascript/11966.html

          https://www.cnblogs.com/lguow/p/11572273.html

          、typeof

          基本數據類型:除了null以外,均可以返回正確的結果

          引用數據類型:除function以外,一律返回object類型

          null:返回 object 類型

          function:返回 function 類型

          用法:typeof(表達式)和typeof 變量名

          console.log(typeof a); // 輸出:'undefined'
          console.log(typeof(true)); // 輸出:'boolean'
          console.log(typeof '123'); // 輸出:'string'
          console.log(typeof 123); // 輸出:'number'
          console.log(typeof NaN);  // 輸出:'number'
          console.log(typeof null); // 輸出:'object'
          
          var obj = new String();
          console.log(typeof(obj)); // 輸出:'object'
          
          var  fn = function(){};
          console.log(typeof(fn)); // 輸出:'function'
          console.log(typeof(class c{})); // 輸出:'function'

          2、instanceof

          instanceof只能用來判斷兩個對象是否屬于實例關系,而不能判斷一個對象實例具體屬于哪種類型,instanceof主要是運算符用來檢測constructor.prototype是否存在于參數object的原型鏈上

          function Car(make, model, year) {
            this.make = make;
            this.model = model;
            this.year = year;
          }
          const auto = new Car('Honda', 'Accord', 1998);
          
          console.log(auto instanceof Car); // 輸出:true
          console.log(auto instanceof Object); // 輸出:true

          3、constructor

          constructor屬性返回對創建此對象的Boolean函數的引用

          null和undefined是無效的對象,不會有constructor存在的,函數里的constructor是不穩定的,這個主要體現在自定義對象上

          當開發者重寫prototype后,原有的constructor引用會丟失,constructor會默認為Object。為了規范開發,在重寫對象原型時一般都需要重新給constructor賦值

          4、toString

          toString() 方法可把一個邏輯值轉換為字符串,并返回結果,返回結果為字符串 "true" 或 "false"

          toString()是Object的原型方法,調用該方法,默認返回當前對象的[[Class]]

          toString()方法是一個內部屬性,其格式為[object Xxx],其中Xxx就是對象的類型


          主站蜘蛛池模板: 在线观看亚洲一区二区| 视频一区二区三区免费观看| 中文字幕精品亚洲无线码一区| 精品一区精品二区| 风间由美性色一区二区三区 | 国产精品无码一区二区在线 | 亚洲第一区精品日韩在线播放| 国产精品香蕉在线一区| 国产一区二区三区免费| 丝袜人妻一区二区三区网站| 色偷偷av一区二区三区| 午夜DV内射一区二区| 久久精品视频一区二区三区| 午夜福利一区二区三区高清视频| 国产传媒一区二区三区呀| 国产一区二区内射最近更新| 久久高清一区二区三区| 91在线一区二区三区| 免费无码毛片一区二区APP| 亚洲AV无码一区二区三区人| 免费无码A片一区二三区| 精品视频一区二区三区在线播放| 狠狠做深爱婷婷综合一区 | 国产成人精品一区二三区在线观看| 国产在线步兵一区二区三区| 波多野结衣一区二区三区88| 国产一区二区精品久久岳 | 亚洲色大成网站www永久一区| 人成精品视频三区二区一区| 久久婷婷色一区二区三区| 在线观看精品视频一区二区三区 | 精品福利一区二区三区免费视频| 亚欧在线精品免费观看一区 | 中文字幕无线码一区二区| 精品一区二区三区3d动漫| 日韩精品无码中文字幕一区二区 | 久久久老熟女一区二区三区| 日韩电影一区二区| 国产精品盗摄一区二区在线| 日本高清不卡一区| 无码av中文一区二区三区桃花岛 |