七种数据类型

number

记住二进制是0b开头
八进制0开头,后来ES5添加了0o开头
十六进制是0x开头

string

var s = '' +
'' // 无回车符号

var s = `
` // 含回车符号
或者ES6中可以用反引号:
var a = `
`
undefined
a
"
"

boolean

要么是false要么是true

symbol

暂时让他消失在二次元

object

各种类型无序的组合在一起,比如:
var person = {
name:"frank",
age:"",
}
要记住,键一定是字符串,不管你加不加引号!!可以使用delete删除 delete person['name']

null

undefined

都表示没有值,但是知道以下就可以了:
.如果一个变量没有被赋值,name这个变量的值就是undefined。
.如果你想表示一个还没有被赋值的对象,就用null,如果你想表示一个还没赋值的字符串、数字、布尔或者是symbol那就用undefined。

没有function也没有array,它们不是数据类型

可以用typeof来测试类型哦

注意function不是一个类型。

类型之间的转换

任意类型转字符串:

1.使用String

String(1)
"1"
String(true)
"true"
String(null)
"null"
String(undefined)
"undefined"
String({})
"[object Object]"

2.使用toString

3. x + ''

任意类型转数字

1.Number(x)

2. x - 0

3.+x

4.parseInt(x, 10)

5.parseFloat(x)

任意类型转布尔值

1.Boolean(x)

2.!!x

对象

问题1:

var a = 1 和 var a = new Number(1)有什么区别?

那么为什么第一个 var a = 1也可以使用 toString()?

因为在使用a.toString()的时候,会临时创建一个对象,就像new一个1一样。

见下题:

全局对象:

ECMAScript 规定全局对象叫做 global,但是浏览器把 window 作为全局对象(浏览器先存在的),window 就是一个哈希表,有很多属性。

有两种:

一种是ECMAScript规定的:

global.parseInt
global.parseFloat
global.Number
global.String
global.Boolean
global.Object

一种是浏览器自己加的属性

window.alert    所以我们会简单不同的浏览器的警示框都不同
window.prompt
window.comfirm
window.console.log
window.console.dir
window.document
window.document.createElement
window.document.getElementById

几个重要的全局函数:

Number()

String()

Boolean()

Object()

关于原型就是共有属性

所有对象都有 toString 和 valueOf 属性,那么我们是否有必要给每个对象一个 toString 和 valueOf 呢?

JS 的做法是把 toString 和 valueOf 放在一个对象里(暂且叫做公用属性组成的对象)

然后让每一个对象的 __proto__ 存储这个「公用属性组成的对象」的地址。

Number如此,String也如此,其他也差不多。如果非要解释原型链,看图好了,连在一起像不像链子~

记住以下的重要公式:

var 对象 = new 函数()
对象.__proto__ === 函数.prototype

JS类型和类 小记录的更多相关文章

  1. JS实现植物大战僵尸小游戏,代码记录及效果展示

    前几天看到了一个很有趣的demo,用js制作植物大战僵尸小游戏,本着学习的心态,对照着做了一下,发现这里面的一些代码设计的确很精妙,这里分享下源码和效果,如果有需要,可以看下. 效果如下: 下载地址

  2. 原生JS实现的h5小游戏-植物大战僵尸

    代码地址如下:http://www.demodashi.com/demo/12755.html 项目介绍 本项目是利用原生js实现的h5小游戏-植物大战僵尸,主要结合了一下自己对于h5小游戏的理解,结 ...

  3. NDK开发小记录 C++读取java层对象内容

    这是自己NDK开发得小记录,关于C++层读取java层传来的对象内容. 很简单的一个例子, 1.首先在java层定义了一个类NumList: public class NumList { public ...

  4. js中的类

    概述 经典的老书害人啊,全是讨论怎么解决javascript里面用函数形式定义类的坑.结果es2015直接用class关键字解决了所有问题.虽然class关键字没有什么新东西,只是js现有继承结构的语 ...

  5. node.js 开发简易的小爬虫

    node.js  开发简易的小爬虫 最近公司开发一款医药类的软件,所以需要一些药品的基础数据,所以本人就用node.js写一个简易的小爬虫,并写记录这个Demo以供大家参考. 一.开发前的准备: 1, ...

  6. JS类型转换规则详解

    JS类型转换规则详解 一.总结 一句话总结:JS强制类型转换中的类型名强制类型转换和其它语言不同,是类型类的构造方法,Number(mix) 一句话总结(JS类型本质):因为js是弱类型语言,所以它相 ...

  7. js常用工具类.

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

  8. 通过寄生组合式继承创建js的异常类

    最近项目中在做js的统一的异常处理,需要自定义异常类.理想的设计方案为:自定义一个异常错误类BaseError,继承自Error,然后再自定义若干个系统异常,例如用户取消异常.表单异常.网络异常,这些 ...

  9. 文件类型工具类:FileTypeUtil

    个人学习,仅供参考! package com.example.administrator.filemanager.utils;import java.io.File;/** * 文件类型工具类 * * ...

随机推荐

  1. sql 常用基础查询

    *查询第一条记录:select   top   1   *   from   tablename *随机查询N条记录:select top N * from table order by newid( ...

  2. UWP开发入门(三)——{x:Bind}扩展标记

    上周打炉石打得太晚……忘记更新了,本周补上.本篇我们讲一下{x:Bind}扩展标记.{x:Bind}扩展标记也是Windows 10 Uinversal 新增的内容,按官方的说法是 {Binding} ...

  3. win7 virtio 驱动下载

    下载地址: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/

  4. 学习笔记|Java 教程|菜鸟教程

    一.Java 教程 1.Java 教程 Java 在线工具 JDK 1.6 在线中文手册 我的第一个 JAVA 程序 创建文件 HelloWorld.java(文件名需与类名一致), 代码如下: pu ...

  5. Android 线刷小白教程

    Android 线刷小白教程 再说一遍,绝不使用刷机精灵等软件. 一.概念 安卓系统一般把rom芯片分成7个区,如果再加上内置sd卡这个分区,就是8个: hboot分区----------负责启动. ...

  6. Java中关键字final用法

    ///首先声明,本文转载自博客园的海子,链接:http://www.cnblogs.com/dolphin0520/p/3736238.html 浅析Java中的final关键字 谈到final关键字 ...

  7. 调用jdbc已经写成的方法----jdbc工具类抽取方式二

    先创建db.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/web08?useUnicode=true& ...

  8. 阿里巴巴前端面试分享-社招(p6)

    借鉴了朋友的阿里面试经:(社招前端2年经验) 电话面 简单自我介绍, 做过哪些项目, 使用哪些技术栈 ? 如何看待前端框架选型 ? vue的如何实现双向绑定的 ? react 虚拟DOM 是什么? 如 ...

  9. leetcode-849-到最近的人的最大距离

    题目描述: 在一排座位( seats)中,1 代表有人坐在座位上,0 代表座位上是空的. 至少有一个空座位,且至少有一人坐在座位上. 亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座 ...

  10. 40.oracle事务

    一.事务特性 事务必须具备以下四个特性,简称ACID属性 原子性(Atomicity):事务是一个完整的操作.事务的各步操作是不可分割的(原子的):要么都执行,要么都不执行场景:银行转账 A-100 ...