JS中报错的原因

了解JavaScript中的五种基本数据类型与类型之间的转换首先我们先来了解下五种基本类型都有哪些基本数据类型: string number Boolean null undefined

  1. 字符串 String
    var a = '内容';
    var a = "内容";
    字符串特点: 字符串一旦创建,它们的值不能改变, (要改变的话:先销毁原来的字符串,再使用新的字符串填 充变量)
  2. 数字 Number
    var a = 1;
    var b = 124;
    (1)数字有整数,浮点数; 所谓的浮点数值,就是该数值中必须包含一个小数点,并且小数点后必须至少有一位数字 由于保存浮点数值需要的内存空间是保存整数值的两倍,因此ECMAScript会不失时机地将浮点 数值转换为整数值
    1. =》1
    10.0 =》 10
    (2)范围从负无穷(-Infinity)到0 到正无穷(+Infinity); * Infinity是无法参与计算的; * 判断值是否超过JavaScript数值范围可以使用: isFinite(num) (3) NaN :即非数值(Not a Number)是一个特殊的数值; * NaN指的"不是一个数字",可以理解为"无效数值","失败数值", "坏数值"; * 用于指出数字类型中错误的情况:执行数学运算没有成功,这是失败后返回的结果; * 任何涉及NaN的操作都会返回NaN; * NaN与任何值都不相等; * 判断是否"不是数值",参数为任意类型: isNaN();
  3. 布尔 Boolean
    var a = true;
    var a = false;
    只有两个字面值: true 和 false 在ECMAScript中所有的类型的值都有与这两个Boolean值等价的值4. null 空 var a = null; 空对象指针 准备给对象用的坑 null表示准备用来保存对象,还没有真正保存对象的值 typeof检测null时会返回 "object" : 最初在JavaScript最初实现中,JavaScript的值是由一个表示类型的标签和实际数值来表示的, 对象的类型标签是0,由于null代表的空指针,因此null的类型标签也成为了0,typeofnull就返回了object5. undefined 未定义;
    var a = undefined;
    var a;
    准备给基本数据类型用的坑 只有一个值,在使用var声明变量但还没有加以初始化赋值时,这个变量的值就是undefined类型的转换 (1) 转字符串: String(变量): null与undefined可使用这个转型函数
    var str = 'abc';var num = 234;var bool = true;var un = undefined;var nu = null;
    console.log(String(num)); // '234'
    console.log(String(bool)); // 'true'
    console.log(String(un)); // 'undefined'
    console.log(String(nu)); // 'null'
    变量.toString(2 || 8 || 10 || 16) 参数是基数(几进制);数值、布尔值、对象和字符串都有这个方法,null与undefined则没有 数字转为字符串的特殊方法: 数字.toFixed(位数) 保留小数点后几位,并采取四舍五入 (2) 转数字: * Number() 布尔值: true - 1; false - 0;
    var bool = true;
    console.log(Number(bool)); //1
    var bool = false;
    console.log(Number(bool)); //0
    Null: 0
    var nu = null;
    console.log(Number(nu)); //0
    Undefined: NaN
    var un = undefined;
    console.log(Number(un)); //NaN
    字符串: 只包含数字(前面携带正负号) 前导零会被忽略 识别浮点、整数、16进制(自动转为同等大小的十进制数值) 空字符串 - 0 除上述之外 均为NaN
    var c = Number('1前端'); // NaN;
    var c = Number('1'); // 1;
    var c = Number('前端1'); // NaN;
    * parseInt() 转为整数 忽略字符串前面的空格,直至找到第一个非空字符, 如果第一个字符不是数字字符或者正负号 返回 NaN 如果第一个字符是数字字符,parseInt会继续解析第二个字符,知道解析完所有后续字符 或者遇到了一个非数字字符 字符串以'0x'开头且后跟数字字符,就会将其当作一个十六进制整数 字符串以'0'开头且后跟数字字符,则会将其当作一个八进制数来解析 空字符串 返回 NaN 提供第二个参数:转换时使用的基数(进制)
    var a = parseInt('123.9前端'); // 123;
    var a = parseInt('前端123'); // NaN;
    * parseFloat() 转为浮点数 第一个小数点是有效的,第二个小数点是无效的 只解析十进制,无第二个参数 十六进制式的字符串始终被转换为 0
    var b = parseFloat('1239前端'); // 1239;
    var b = parseFloat('1.9前端'); // 1.9;
    var b = parseFloat('前端1.9'); // NaN;
    (3) 转布尔值: Boolean() 0,空字符串,NaN, undefined ,null 转布尔都为false基本类型之间的转换是一个重点,一定要记清楚:JavaScript是一种弱类型语言,其中的数据类型在不同情况下会发生隐性的转换,如果不清楚类型的转换,可能之后的代码报错都找不到原因。
作者:L H
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容

  • 01javascript语法规范 <!DOCTYPE html> javascript语法...
    ouyangqinbin阅读 1,308评论 0 0
  • 1、标识符 标识符是指变量、函数、属性的名字,或函数的参数。 格式规则: 第一个字符必须是一个字母、下划线(_)或...
    风中丶凌乱阅读 1,627评论 0 0
  • 变量 声明变量 命名变量区分大小写的语言第一个字符是字母或下划线_,数字不能作为第一个字符字符必须是字母,数字或者...
    flyingtoparis阅读 809评论 0 0
  • 第一章 前端三大语言:HTML(专门编写网页内容)、CSS(编写网页样式)、JS(专门编写网页交互行为) 能简写尽...
    fastwe阅读 957评论 0 0
  • 好看,好吃!
    品茶轩pcx阅读 476评论 9 8