热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaScript范例体系详解

基础数据范例ECMAScript中有5种简朴数据范例(也称基础数据范例):Undefined,Null,Boolean,Number和String。另有一种庞杂数据范例(援用型)O

基础数据范例

ECMAScript中有5种简朴数据范例(也称基础数据范例):Undefined,Null,Boolean,Number和String。另有一种庞杂数据范例(援用型)Object。ECMAScript不支持任何建立自定义范例的机制,而一切值都是上述6中数据范例之一。(ps:ES6新增了一种数据范例Symbol,这里不做议论)

Undefined

  • 值:undefined

  • 涌现场景:

    • 运用var声明变量未赋值(相当于var test = undefined;

    • 猎取对象不存在的属性

    • 无返回值的函数的实行效果

    • 函数的参数没有传入

    • void(expression)

  • 范例转换:

–BooleanNumberString
undefinedfalseNaN“undefined”

Null

  • 值:null。null值示意一个空对象指针,若定义的一个变量预备未来用来保留一个对象,那末最好将变量初始化为一个null

  • 涌现场景:

    • var test = null;

    • null示意挪用的对象不存在

注重辨别null和undefined的区分?

null == undefined; // true
null === undefined; // false

  • 范例转换

–BooleanNumberString
nullfalse0“null”

Boolean

  • 值:true or false。

  • 涌现场景:

    • 前提语句致使体系实行的隐式装换

    • 定义

  • 范例转换

–numberstring
true1“true”
false0“false”

String

  • 值:由单引号或双引号括起来的字符序列

  • 涌现场景:定义

  • 范例转换,有两种要领,String()toString()

–BooleanNumber
“”false0
“123”true123
“a12”trueNaN

Number

  • 值:整数和浮点值

  • 涌现场景:

  • 范例转换,Number()parseInt()parseFloat()。第一个函数能够应用于任何数据范例,另两个函数特地用于把字符串转换成数值

–BooleanString
0false0
1true1
Infinitytrue“Infinity”
NaNfalse“NaN”

Object

  • 值:一组属性的鸠合

  • 涌现场景:

  • 范例转换

–BooleanNumberString
{}trueNaN“[object Object]”

范例辨认

typeof(操作符,不是函数)

  • 能够辨认简朴范例(Null除外)

  • 不能辨认详细的对象范例(Function除外)

typeof "darko"; //"string"
typeof 123; //"number"
typeof true; //"boolean"
typeof undefined; //"undefined"
typeof null; //"object"
typeof {name:"darko"}; //"object"
typeof function(){}; // "function"
typeof []; // "object"
typeof new Date(); //"object"

instanceof(三目运算符)

  • 辨认内置对象的范例

  • 不能够辨认简朴范例

  • 辨认自定义对象范例

[] instanceof Array; //true
/\d/ instanceof RegExp; //true
1 instanceof Number; //false
"abc" instanceof String; //false

constructor

  • 辨认简朴范例(undefined和null除外)

  • 辨认内置对象范例

  • 辨认自定义对象范例

(1).cOnstructor=== Number; // true
true.cOnstructor=== Boolean; // true
[].cOnstructor=== Array; // true

Object.prototype.toString

  • 能够简朴范例和内置对象

  • 不能辨认自定义范例

function type(obj){
return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
}

推荐阅读
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文介绍了在Java中检查字符串是否仅包含数字的方法,包括使用正则表达式的示例代码,并提供了测试案例进行验证。同时还解释了Java中的字符转义序列的使用。 ... [详细]
  • 本文整理了Java中org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc.getTypeInfo()方法的一些代码示例,展 ... [详细]
  • JVM 学习总结(三)——对象存活判定算法的两种实现
    本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 小程序wxs中的时间格式化以及格式化时间和date时间互转
    本文介绍了在小程序wxs中进行时间格式化操作的问题,并提供了解决方法。同时还介绍了格式化时间和date时间的互相转换的方法。 ... [详细]
  • 本文讨论了微软的STL容器类是否线程安全。根据MSDN的回答,STL容器类包括vector、deque、list、queue、stack、priority_queue、valarray、map、hash_map、multimap、hash_multimap、set、hash_set、multiset、hash_multiset、basic_string和bitset。对于单个对象来说,多个线程同时读取是安全的。但如果一个线程正在写入一个对象,那么所有的读写操作都需要进行同步。 ... [详细]
  • 本文介绍了Java中Currency类的getInstance()方法,该方法用于检索给定货币代码的该货币的实例。文章详细解释了方法的语法、参数、返回值和异常,并提供了一个示例程序来说明该方法的工作原理。 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • node.jsrequire和ES6导入导出的区别原 ... [详细]
  • MySQL多表数据库操作方法及子查询详解
    本文详细介绍了MySQL数据库的多表操作方法,包括增删改和单表查询,同时还解释了子查询的概念和用法。文章通过示例和步骤说明了如何进行数据的插入、删除和更新操作,以及如何执行单表查询和使用聚合函数进行统计。对于需要对MySQL数据库进行操作的读者来说,本文是一个非常实用的参考资料。 ... [详细]
author-avatar
87年的第一场雪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有