JSデータ型変換

データ型変換JS

表示データ型変換

  1. typeof演算:数値、文字列、ブール、Objecet、未定義の、機能:操作は、データの6種類を返します
        var a = 1; 
        //conloe.log(typeof(a)) 值为Number
        var a = [];
        //conloe.log(typeof(a)) 值为Object
        var a = {};
        //conloe.log(typeof(a)) 值为Object
        var a = null;
        //conloe.log(typeof(a)) 值为Object
        var a = true;
        //conloe.log(typeof(a)) 值为Boolean
        var d;
        //conloe.log(typeof(b)) 值为Undefined
        var a = function(){};
        //conloe.log(typeof(a)) 值为function
  1. JSのためにインストールされたデフォルトの特定の種類は、JSの文字列の数は、暗黙的な変換がデフォルト設定されます
        console.log("1" + 1) //11
        console.log("1" + "1") //11
        console.log("1" * 1) //1
        console.log("1" -1) //0
        console.log("2" + 1) //21
        console.log("2"- 1) //1
  1. 番号( 'number' は)//内部のデジタルのものに変換します
       var demo = '123'
       demo =  Number(demo) //把demo装换为数字
       console.log(typeof(demo)) //number
       var demoB = true
       console.log(Number(demoB)) //1 boolean值转为数字类型以后1为真, 0为假
       console.log(Number("sfjafja")) //NaN 不能转为为数字的值转换为数字后, 值为NaN
       var demoN = null
       console.log(Number(demoN)) //值为0
       var demoun = undefined
       console.log(Number(demoun)) //NaN
  • parseInt():
    デジタル変換整数内部のparseInt(ヴァル、基数)、最初のパラメータができる文字列、ブール値、あるいはオブジェクト、関数、
    2番目のパラメータは、小数点のデフォルトとしての値であります進数、バイナリは、次に数値を10進数に塩基に変換され、
    再び散髪:10進数としてのValに渡され、その後、彼は10進数に変換、デフォルト値は、10を通過しません進
      var i = '123'
      console.log(parseInt(i), typeof(parseInt(i))) //123 number
      var i = "123.9"
      console.log(parseInt(i), typeof(parseInt(i))) //123 number
      var demoi = false
      console.log(parseInt(demoi), typeof(parseInt(demoi))) //NaN number
      var demor = 3
      console.log(parseInt(demor, 2)) // NaN , 默认把3当成2进制的数,由于2进制中不存在3, 所以输出为NaN
      var demorx = 'b'
      console.log(parseInt(demorx, 16)) //11 ,把b当成16进制数,然后把它转换为10进制数
      var demos = '100px'
      console.log(parseInt(demos)) //100 parseInt会从开头的数字开始看,看完不是数字为值
      var demols = "afaf100fafa" 
      console.log(parseInt(demols)) // NaN 
  • parseFloatは():parseFloatは(「数」)//使用量とのparseIntほとんどが、すべての値が浮動小数点に変換されます置きます
      console.log(parseFloat("100"))  //100 整数的时候parseFloat是不会添加.0 de
      console.log(parseFloat("100.1")) //100.1
      console.log(parseFloat('100.0.01')) //100 默认只会取一个小数点
      console.log(parseFloat('100.12raga')) //100.12
  • 文字列( 'ヴァル')//文字列のvalを変換します
    var demostr = String(function (){
      console.log('I an String')
      })
    console.log(demostr) //function (){  console.log('I an String')}
  • toString(「ミックス」)//文字列に
      var demot = 1213
      var demots = toString(demot)
      var demounde = toString(undefined) 
      console.log(typeof (demounde)) //string
      console.log(typeof(demots)) //string
  • .toString(基数)は、
    文字列はnullにすることができず、未定義のtoStringにするために後で変換誰.tostringたい
    ターゲット基地バイナリ変換にターゲット番号16進数、10進数の文字列に変換することができる
    (注識別のparseIntヴァルを、基数)彼は小数に変換し、その後、基数ヘクスにVALすることであるとして、
      console.log(typeof(demot.toString()))
      var demo = 123
      console.log(demo.toString(8), typeof demo.toString(8)) //173 string

暗黙的なデータ型変換

特定の条件下で暗黙のデータ型変換は、JavaScript内変換機構をトリガする、内部データ型変換呼び出しはで表示される
トリガ条件の本体ケース暗黙的データタイプ:ますisNaN()、+ // * // 、++、 - !>、 > =、=、<、>、<、%,, &&、||、==、=!

  1. ますisNaN(valが)// valが非数の判断ではなく、第1の判定を実行し、数値関数を呼び出します
    console.log(isNaN('123')) //false
    console.log(isNaN('abc')) //true
    console.log(isNaN(null)) //false     Number(null) 是0 所以其值为false
    console.log(isNaN(undefined)) //true
  1. +/-、+ / - * /%
    それはこれらの演算子になると暗黙の型変換データ型を検索します
    var abc = + "abc"
    console.log(typeof (abc), abc) //number NaN
    var abc = "abc" + 1
    console.log(typeof (abc), abc) //string abc1 当加号两侧有一个是字符串的时候就调用String()方法把它转换成String
    console.log(typeof ("1" * 1), 1 * "1") // numeber 1
    console.log(typeof (1 / "1"), 1 / 1) //number 1
    console.log(typeof (2 % "10"), 2 % "10") //numberi 2
  1. &GT&LT =&GT = &LT = ==!=
    デジタルコンパレータ参加がデジタル方式に変換し、何の比較はascallを比較する数値コードに変換されず、ブール型が優先のデジタル、デジタル原理に変換されます。
    console.log(1>= "2") //会转换成number型在进行比较
    console.log("1">"2") //会直接比ascall码值
    console.log(3 > true) //true
    console.log(1 == true) //true
    console.log(false == 1) //false
  1. いくつかの特別な値
    際、暗黙的な変換は発生しません比較でnullとundefined
    ==!=暗黙的な変換が行われますが===!==暗黙の型変換は行われません
   console.log(Number(null)) //0
   console.log(null == 0)
   console.log(Number(null) == 0) //true
   console.log(1 == "1") //true 
   console.log(1 ==="1") //false
   console.log(1 === true)  //false
   console.log(1 != "1") //false
   console.log(1 !== "1") //true

おすすめ

転載: www.cnblogs.com/ghostdot/p/11372466.html