zoukankan      html  css  js  c++  java
  • js--数据类型、类型转换(4)

    ECMAScript:JS中的核心,标准;
    规定了JS中的语法和数据类型;
    --JS中的数据类型--:
    typeof :判断数据类型;
    1>数字;
      var i =100;
      alert(typeof i); //number

    2>字符串;
      var s ='test'; //这里注意,引号中的空格也算一个字符;
      alert(typeof s); //string
      alert(s.length); //计算字符串中的长度
      alert(s.charAt(1)); // 't'
      //通过下标找字符串中指定的字符,从0开始计算;

    3>布尔值(true false);
      var b =true;
      alert(typeof b); //boolean

    4>函数;
      var fn =function (){alert(1);} //匿名函数
      fn(); //调用函数
      fn; //不写括号,代表的是等号右边的东西;

    5>对象(window,document,数据([]),json,null);
      var obj = window;
      alert(typeof obj); // object 对象

      var arr = [1,2,3];
      alert(typeof arr); //object

      var json ={name:'lay',age:5};
      alert(typeof json); //object
      alert(json.name); // lay 通过'.'的方式找到对应的 属性值;

      var n = null;
      alert(typeof n); //object

    6>undefined(未定义)
      var u;
      alert(typeof u); //undefined

    --JS数据类型转换--:
    强制类型转换(显式类型转换)
    方法一:
    1>字符串:
      var a ='100';
      alert(Number(a)); //100

      var b =''; //空字符串、空格
      alert(Number(b)); //0

    2>布尔值
      var t = true; //true 1 false 0
      alert(Number(t)); //1

    3>空数组
      var arr =[];
      alert(Number(arr)); //0
    注:数组里面有一个数就可以转,多个话,会显示 NaN

    4>NULL
      var n =null;
      alert(Number(n)); // 0

    5>函数、对象、window、json、undefind强转后都是NaN
      var fn =function(){alert(1)};
      alert(Number(fn)); //NaN

    方法二:
    parseInt() 与 parseFloat()
      var b ='100px';
      alert(parseInt(b)); //100

      var b ='100px21321321';
      alert(parseInt(b)); //100 遇到p发现不是数字,停止转换;

      var b ='+100';
      alert(parseInt(b)) //100

      var b ='12.35''
      alert(parseInt(b)); //12 遇到点发现不是数字,停止转换;

      var c ='12.36元';
      alert(parseFloat(c)); //12.36

    注:
    1.parseInt()只转含有数字的字符,其它非数字的,都会返回NaN;
    2.parseInt()遇到"+ - * / "和空格,会识别后,去转后面的数。不会直接返回NaN;
    3.parseInt(a,b):括号中的参数是有两个的,a代表要转换的字符,b代表是按照几进制转,默认是10进制,比如输入2,就是2进制转换;

    **转换步骤:

    parseInt会从左到右一个字符一个字符的转,当遇到非数字的字符时,会停止转换,后面的那些全部舍去,即使后面还会有数字,也不会再检查去转了。

    隐式类型转换
    + :数字+字符串,变成字符串
      例:200+'3' //2003

    - * / % :使用字符串与数字可以相运算,变成数字
      例:'200' - 3 ; // 得197

    ++ -- :'10'++ '10'-- 变成数字
      例:var a ='10'; a++; //11

    >< :注意是数字的比较,还是字符串的比较;


    '10'>9 数字与字符串比较,会将字符串转换为数字
    再进行比较;


    字符串与字符串比较,是一位一位的比较;
      例:'10'>'9'
    这里是第一位的1和9比,所以返回是false;

    ! : 取反

    == :比较的是值;
    ===:先比较类型,再比较值;(这个比较严谨)

    NsN:not a mumber 不是个数字的数字类型
    alert(typeof NaN) ; // number 属于数字类型

    注意:一旦写程序中出现:NaN肯定进行了非法的运算操作;

    NaN的特性:
    1.NaN属于数字类型,但不是数字;
    2.NaN在布尔里面是false;
    3.NaN===NaN是false; NaN与自己不相等;

    isNaN():可以说成,确实不是一个数字;是js自带
    的一个方法;

    作用:可以判断某些值是不是数字;
    返回的是布尔值,是数字返回false,不是数字返回true;

    例子:alert(isNaN('250')); //false
    内部判断步骤:
    先调用Number('250') -->转换成250-->再判断是不是一个数字,最后返回;

    说明:从HTML中拿到的内容,类型都是字符串;

  • 相关阅读:
    (四)tensorflow-基础(数据类型,张量操作,数学运算)
    (三)tensorflow-gpu2.0之线性模型
    《莫得感情的coder》Alpha冲刺Scrum meeting 3
    《莫得感情的coder》Alpha冲刺Scrum meeting2
    《莫得感情的coder》Alpha冲刺Scrum meeting1
    实验八 团队作业4:团队项目需求建模与系统设计
    莫得感情的coder 实验七 团队作业3:团队项目需求分析与原型设计
    莫得感情的coder 实验六 团队作业2:Fit U健康管理小程序
    莫得感情的coder 实验五 团队作业1:软件研发团队组建与软件案例分析
    两台主机之间单向Ping不通的问题
  • 原文地址:https://www.cnblogs.com/nemoDuoo/p/4566425.html
Copyright © 2011-2022 走看看