zoukankan      html  css  js  c++  java
  • js数据类型及类型转换

    一、基本数据类型

    js定义了6种基本数据类型

    • null: 空。表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象,转为数字时为0,把一个对象的属性赋值为null,表示删除该属性
      1.作为函数的参数,表示该函数的参数不是对象。
      2.作为对象原型链的终点。
    • undefined 表示未定义, 声明变量却没有赋值时会显示该值,当声明的变量还未被初始化时,变量的默认值为undefined,转为数值时为NaN
      1.变量被声明了,但没有赋值时 就等于undefined
      2.调用函数时,应该提供的参数没有提供,该参数等于undefined
      3.对象没有赋值的属性,该属性的值为undefined
      4.函数没有返回值时,默认返回undefined
    • number: 数值
    • string: 字符串
    • boolean: 布尔值
    • object:对象

    null属于object数据类型的一种特殊形式

    function是object数据类型的一种特殊对象

    二、强、弱类型转换

    隐式类型转换

    1.“+”运算符

    当运算符“+”两边一个是数字类型,一个是字符串类型时,js引擎规定进行字符串连接运算而非算术加运算。

    可将通过此方法将number转换成string

    2.“-”运算符

    当运算符“-”,js引擎规定进行算术减运算。

    可通过此方法将string类型转化为number

    3.if/while会把参数隐式的转换成boolean类型

    4.for in 定义对象字面量时 会出现 从标示符到字符串的隐式转换,遍历数组时也会把数组的索引转换为字符串

    5.alert 

    String.prototype.fn = function(){return this};
    var a = 'hello';
    alert(typeof a.fn()); //-->object
    alert(a.fn()); //-->hello
    // 该方法返回this,this可以理解成当前类的实例对象,既然是对象那么typeof a.fn()自然返回是object。

    Number.prototype.fn
    = function(){return this}; var a = 10; alert(typeof a.fn());//-->object alert(a.fn()); //-->10

    强制类型转换

    1、转换函数

    parseInt(),有基模式,二进制、八进制、十六进制。。
    parseFloat(),字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。

    2、强制类型转换 

    Boolean(value)——把给定的值转换成Boolean型;
    Number(value)——把给定的值转换成数字(可以是整数或浮点数);
    String(value)——把给定的值转换成字符串。

    3、利用弱类型转换




    参考
  • 相关阅读:
    ImageMagick出错/undefined in findresource
    只对目录更改权限的办法(xarg)
    关于linux下php环境
    php 上传大文件
    做下载系统时的一些HTML文件头
    POJ 1694 An Old Stone Game ★(排序+树+递归)
    POJ 1991 Turning in Homework ★(区间DP)
    POJ 2452 Sticks Problem ★ (单调栈+RMQ)
    HDU 2069 Coin Change (母函数)
    HDU 2069 Coin Change (母函数)
  • 原文地址:https://www.cnblogs.com/fire-passiontao/p/5957539.html
Copyright © 2011-2022 走看看