JavaScript基础扫盲


null和undefined

null是一个是非来表示一个空对象的,故 typeof 的返回值是object

undefined字面义为未定义,当遇到声明一个变量,但没有赋值的时候,typeof的类型即为undefined

非十进制的表示方法

  • 十六进制:以0x开头
  • 八进制:以0开头
  • 二进制:以0b开头

进制转换如果以指定进制规定的格式书写是没有问题的

parseInt有平台兼容的问题

直接使用parseInt()解析070的字符串在chrome平台会得到70,而在firefox平台则会直接识别其为八进制的字符串,然后转换成数字56

parseInt()的第二个参数为进制,指定进制转换便可解决这个问题。


强制类型转换

强制类型转换,将一个类型转换为需要的数据类型

string

  • toString():由转换类型的内置方法进行转换,即 value.toString()便可以获取对应的字符串
  • String():系统方法,当toString()方法无法使用时(主要是在nullundefined类型面前失效),便可以使用,nullundefined将变等价转换成相同的字符中"null""undefined"


number

  • Number()

    • 字符串-->数字

      • 纯数字组成的字符串,将得到相应的整数值
      • 如果字符串由数字和非数字字符组成,将得到NaN
      • 如果字符串是一个空串或一个空格的字符串,则转换为0
    • 布尔-->数字:true值为1,false值为0
    • null-->数字:null转换将得到值 0
    • undefined-->数字:undefined转换得到值是NaN,且NaN参与的运算都会得NaN
  • parseInt():将字符串转换成整数,也可以按进制进行转换。parseFloat()仅从字符串开头识别,如果数字位于中间,将无法识别转换且返回NaN

  • parseFloat():在parseInt()的基础上支持识别小数点后的数字位。


boolean

Boolean():将其它数据类型转换为bool值

数字,除了0NaNfalse,其余数,包括负数,转换结果为true

字符串,空串转换为false,其余为true

nullundefined,转换结果均为false

对象转换为true


运算

通过运算符可以对一个值或者多个值进行运算,并得到相应的结果。

算术运算符

  • 任何值和NaN做任何运算都得NaN
  • 任何数值与字符串做加法运算都先转换成字符串,然后变成字符串相加,拼接处理
  • 任何数值与字符串做减乘除运算,都先将字符串转换成数值然后进行数学计算。

布尔运算符

相等运算符

  • ==!=:进行相等运算,会自动进行类型转换,当1 == ”1”就会返回true
  • ===!===:进行全等运算,不会自动进行类型转换,当类型都不一样的时候,条件全等就不成立,不全等成立,反之,亦然

javascript基础扫盲的更多相关文章

  1. JavaScript基础

    JavaScript基础 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处 ...

  2. 一步步学习javascript基础篇(0):开篇索引

    索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...

  3. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  4. 一步步学习javascript基础篇(3):Object、Function等引用类型

    我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...

  5. Javascript基础回顾 之(三) 面向对象

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  6. Javascript基础回顾 之(二) 作用域

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  7. Javascript基础回顾 之(一) 类型

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  8. JavaScript 基础回顾——对象

    JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...

  9. javascript基础01

    javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...

随机推荐

  1. 【Android开发VR实战】三.开发一个寻宝类VR游戏TreasureHunt

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53939303 本文出自[DylanAndroid的博客] [Android开发 ...

  2. oc39-- 类的内存存储

    虚线是isa的指向,实线是继承关系. // // main.m // 类的本质 #import <Foundation/Foundation.h> #import "Person ...

  3. css中的绝对定位和相对定位(详解,总结)

    css中的绝对定位和相对定位(详解,总结) 总结: 设置绝对定位或者相对定位后都从文档中浮起来了,区别是相对定位还占着原来的位置,绝对定位不占着原来的位置,可以种z-index来改变元素的浮动的堆叠次 ...

  4. NYOJ skiing(DFS+记忆化搜索)

    skiing                                                                        时间限制:3000 ms  |  内存限制: ...

  5. bzoj1606[Usaco2008 Dec]Hay For Sale 购买干草(01背包)

    1606: [Usaco2008 Dec]Hay For Sale 购买干草 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1240  Solved: 9 ...

  6. 复习HTML+CSS(9)

    n  CSS简介 CSS:Cascading Style Sheets 层叠样式表 CSS的主要目的:是给HTML标记添加各种各样的表现(格式.样式).比如:文字样式.背景.文本样式.链接样式. 提示 ...

  7. 智能识别快递地址api接口实现(PHP示例)

    电商.ERP等行业发货时,批量录入图片上的收件人地址是个难题:智能识别收件人API是近乎完美的解决方案,通过识别图片,解析出图片中收件人的姓名.电话.详细地址(省.市.区/县.详细地址).将此接口集成 ...

  8. jquery中的left和top

    left 和 top /*1. 获取元素基于定位容器的位置*/ /*返回的是对象 属性 left top */ var position = $('.inner').position(); conso ...

  9. Django学习案例一(blog):五. 开发主页(博客列表展示)

    主页是一个“博客列表”页.博客要按发布时间的倒序来排列,每个博客都要包含标题.作者.分类.发布时间的显示(年-月-日 时:分)及节选的正文内容(前 100 个字).点击单独的博客可以进入其详情页. 1 ...

  10. Webpack 打包学习

    前段时间项目主管让测试组长研究webpack打包方式,闲暇时自己想学习一下,留着备用,本周日学习一下. https://www.jianshu.com/p/42e11515c10f