摘要:类型的实例首先要理解的含义是例子的意思,实际上是判断是否是的一个实例。
数据类型深入理解 数据类型分类 基本(值)类型(5种)
String:任意字符串
Number:任意的数字
boolean:true/false
null:null
undefined:undefined
对象(引用)类型(3种)Object:任意对象
Array:一种特别的对象(数值下标,内部数据是有序的)
Function:一种特别的对象(可以执行)
数据类型判断(3种方式) typeof :返回数据类型的字符串表达var a console.log(a) // undefined console.log(typeof a) // "undefined" console.log(a === undefined) // true console.log(typeof a === undefined) // false console.log(typeof a === "undefined") // true console.log(undefined === "undefined") // false a = 4 console.log(typeof a) // "number" console.log(typeof a === Number) // false console.log(typeof a === "number") // true a = "hahha" console.log(typeof a) // "string" a = false console.log(typeof a) // "boolean" a = null console.log(typeof a) // object console.log(a === null) // true
注意:typeof返回的是数据类型的字符串表达形式。
typeof true //"boolean" typeof "hahha" //"string" typeof 12 //"number" typeof null //"object" typeof ccc //"undefined" typeof function(){} //"function" typeof {} //"object"instanceof:类型的实例
首先要理解instanceof的含义:
instance 是例子的意思,A instanceof B 实际上是判断A是否是B的一个实例。理解了这一点,就不难判断类型了。
var b1 = { b2: [1, "hehe", console.log], b3: function () { console.log("b3") return function () { return "Mandy" } } } console.log(b1 instanceof Object) // true console.log(b1.b2 instanceof Array, b1.b2 instanceof Object) // true true console.log(b1.b3 instanceof Function, b1.b3 instanceof Object) //true true console.log(typeof b1.b2) // "object" console.log(typeof b1.b3) // "function" console.log(typeof b1.b2[1]) // "string" console.log(typeof b1.b2[2]) // "function" b1.b2[2](555) // 555 console.log(b1.b3()()) // "b3" "Mandy"
注意:
函数既是 Function 类型,也是 Object 类型
数组既是 Array 类型,也是 Object 类型
===可以判断undefined 和 null
ccc === "undefined" // true null === null // true总结
typeof :
可以判断 undefined / 数值 / 字符串 / 布尔值 / function
不能判断 null 与 object, array 与 object
typeof null // "object" typeof [] // "object"
instanceof:
判断对象的具体类型
A instanceof B
===:
可以判断 undefined , null
undefined 与 null 的区别?undefined 代表定义了,未赋值
null 代表定义了,并且赋值了,只是赋的值为 null
// undefined与null的区别? var a console.log(a) // undefined a = null console.log(a) // null什么时候给变量赋值为null?
初始赋值,表明将要赋值为对象。因为 typeof null === "Object"
结束前,让对象成为垃圾对象(被垃圾回收器回收)
//起始 var b = null // 初始赋值为null, 表明将要赋值为对象 //确定对象就赋值 b = ["atguigu", 12] //最后 b = null // 让b指向的对象成为垃圾对象(被垃圾回收器回收)严格区别变量类型 与 数据类型?
数据的类型:
基本类型
对象类型
变量的类型(变量内存值的类型)
基本(值)类型:保存的就是基本类型的数据
引用类型:保存的是地址值
理解实例 与 类型// 实例: 实例对象 // 类型: 类型对象 function Person (name, age) {// 构造函数 类型 this.name = name this.age = age } var p = new Person("tom", 12) // 根据类型创建的实例对象
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/104058.html
摘要:设计模式是以面向对象编程为基础的,的面向对象编程和传统的的面向对象编程有些差别,这让我一开始接触的时候感到十分痛苦,但是这只能靠自己慢慢积累慢慢思考。想继续了解设计模式必须要先搞懂面向对象编程,否则只会让你自己更痛苦。 JavaScript 中的构造函数 学习总结。知识只有分享才有存在的意义。 是时候替换你的 for 循环大法了~ 《小分享》JavaScript中数组的那些迭代方法~ ...
摘要:的翻译文档由的维护很多人说,阮老师已经有一本关于的书了入门,觉得看看这本书就足够了。前端的异步解决方案之和异步编程模式在前端开发过程中,显得越来越重要。为了让编程更美好,我们就需要引入来降低异步编程的复杂性。 JavaScript Promise 迷你书(中文版) 超详细介绍promise的gitbook,看完再不会promise...... 本书的目的是以目前还在制定中的ECMASc...
摘要:引用类型参数的传递与引用类型的复制一样,传递的是内存地址。指向一个新的地址,与不再指向同一个地址官方解释来一发中所有函数的参数都是按值传递的。总结很简单,函数参数都是按值传递都是栈内数据的拷贝。 基本类型与引用类型 值类型(基本类型):String,Number,Boolean,Null,Undefined。 引用类型:Array、Object、Function、Date等有多个值...
阅读 3547·2021-08-31 09:39
阅读 1851·2019-08-30 13:14
阅读 2917·2019-08-30 13:02
阅读 2766·2019-08-29 13:22
阅读 2340·2019-08-26 13:54
阅读 764·2019-08-26 13:45
阅读 1584·2019-08-26 11:00
阅读 980·2019-08-26 10:58