typeof可以用来检测给定变量的数据类型,typeof是一个操作符而不是函数,所以圆括号可以省略。

Undefined类型只有一个值,即特殊的undefined。在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。

undefined的主要目的是用于比较。第三版引入这个值是为了正式区分空对象指针与未经初始化的变量。

Null类型是第二个只有一个值得数据类型,这个特殊的值是null。

从逻辑角度来看,null值表示一个空对象指针,而这也正是使用typeof操作符检测null值时会返回“object”的原因。

实际上,undefined值是派生自null值的,因此ECMA-262规定对它们进行相等性测试要返回true:null==undefined//true

Boolean类型的字面值true和false是区分大小写的,也就是说,True和False都不是Boolean值,只是标识符。

八进制在严格模式下是无效的,会导致支持的javascript引擎抛出错误。

关于浮点数计算会产生舍入误差的问题,有一点需要明确:这是使用IEEE754数值的浮点数计算的通病。a+b==0.3//不要做这样的测试,舍入误差会导致无法测试特定的浮点数。

数值范围(大多数浏览器中):Number.MIN_VALUE(5e-324),Number.MAX_VALUE(1.7976931348623157e+308),如果某次计算结果超出数值范围则将被自动转换为特殊的Infinitity值,如果这个值是负数转换为-Infinitity,如果为正数转换为Infinitity。

Infinitity不能够参与计算。

NaN即非数值(Not a Number)是一个特殊的数值。

NaN特点:(1)任何涉及NaN的操作都会返回NaN。(2)NaN与任何值都不相等,包括NaN本身。

数值转换:Number()、parseInt()、parseFloat()三个函数可以把非数值转换为数值,其中第一个可以用于任何数据类型,另外两个专门用于把字符串转换成数值。

字符串一旦创建,他们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量。

Object属性和方法:

Constructor:构造函数

hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。

isPrototypeOf(object):用于检查传入的对象是否是另一个对象的原型。

propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。

toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应。

toString():返回对象的字符串表示

valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同。

ECMAScript对象的属性没有顺序。因此,通过for-in循环输出的属性名的顺序是不可预测的。

with语句的作用是将代码的作用域设置到一个特定的对象中。严格模式中不允许使用with语句,否则将视为语法错误。with会导致性能下降。

ECMAScript中的参数在内部是用一个数组来表示的。函数接收到的始终是这个数组,而不关心数组中包含哪些参数。在函数内部可以使用arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数。

ECMAScript函数的一个重要特点:命名的参数只提供便利,但不是必须的。另外,在命名参数方面,其他语言可能事先创建一个函数签名,而将来调用必须与该签名一致。但是在ECMAScript中没有这些条条框框。

arguments对象的长度是由传入的参数个数决定的,不是由定义函数时的命名参数的个数决定的。

ECMAScript中的所有的参数传递的都是值,不可能通过引用传递参数。

ECMAScript函数不能像传统意义上那样实现重载。

如果在ECMAScript中定义了两个名字相同的函数,则该名字只属于后定义的函数。

实际上,未指定返回值的函数返回的是一个特殊的undefined值。

js笔记 标签: javascript 2016-08-01 13:30 75人阅读 评论(0) 收藏的更多相关文章

  1. HDU1349 Minimum Inversion Number 2016-09-15 13:04 75人阅读 评论(0) 收藏

    B - Minimum Inversion Number Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d &a ...

  2. 给EditText的drawableRight属性的图片设置点击事件 分类: 学习笔记 android 2015-07-06 13:20 134人阅读 评论(0) 收藏

    这个方法是通用的,不仅仅适用于EditText,也适用于TextView.AutoCompleteTextView等控件. Google官方API并没有给出一个直接的方法用来设置右边图片的点击事件,所 ...

  3. linux 用户切换 标签: linux 2016-07-30 13:57 144人阅读 评论(0) 收藏

    一.指令修改 1.普通用户切换到root用户: su root 需要输入密码 2.root用户切换到普通用户: su 用户名 不需要输入密码 二.直接注销,再用新用户登录 注:1.两种方式存在差别,用 ...

  4. JavaScript概念之screen/client/offset/scroll/inner/avail的width/left 分类: JavaScript HTML+CSS 2015-05-27 16:42 635人阅读 评论(0) 收藏

    原文地址:http://caibaojian.com/js-name.html JS中获取各种宽度和距离,常常让我们混淆,各种浏览器的不兼容让我们很头疼,现在就在说说js中有哪些宽度和距离. 1.名词 ...

  5. hdu 1712, multiple-choice knapsack, 分类: hdoj 2015-07-18 13:25 152人阅读 评论(0) 收藏

    reference: 6.4 knapsack in Algorithms(算法概论), Sanjoy Dasgupta University of California, San Diego Chr ...

  6. Power Network 分类: POJ 2015-07-29 13:55 3人阅读 评论(0) 收藏

    Power Network Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 24867 Accepted: 12958 Descr ...

  7. NYOJ-289 苹果 289 AC(01背包) 分类: NYOJ 2014-01-01 21:30 178人阅读 评论(0) 收藏

    #include<stdio.h> #include<string.h> #define max(x,y) x>y?x:y struct apple { int c; i ...

  8. Oracle错误IMP-00010: 不是有效的导出文件, 头部验证失败 分类: Oracle 2015-07-09 13:56 20人阅读 评论(0) 收藏

    Oracle 11g的dmp备份文件导入到Oracle 10g,出现错误信息: Import: Release 10.2.0.1.0 - Production on 星期四 7月 9 13:47:04 ...

  9. hdu1171 Big Event in HDU(01背包) 2016-05-28 16:32 75人阅读 评论(0) 收藏

    Big Event in HDU Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

随机推荐

  1. (转)Python random模块

    原文:https://my.oschina.net/cuffica/blog/33336 https://www.cnblogs.com/renpingsheng/p/7105296.html ran ...

  2. (转)【面试】【MySQL常见问题总结】【03】

    [常见面试问题总结目录>>>] [面试][MySQL常见问题总结][03] 2016-05-29 22:20 阅读(8244) 评论(2) [面试][MySQL常见问题总结][02] ...

  3. [跨域]跨域解决方法之Ngnix反向代理

    跨域原理:http://www.cnblogs.com/Alear/p/8758331.html 介绍Ngnix之前,我么先来介绍下代理是什么~ 代理相当于中间人,中介的概念 代理分为正向代理和反向代 ...

  4. DDD中的EFCore

    EFCore在DDD中的使用 在DDD中,我们对聚合根的操作都会通过仓储去获取聚合实例. 因为聚合根中可能会含有实体属性,值对象属性,并且,在DDD中,我们所设计的领域模型都是充血模型.所以,在对聚合 ...

  5. ElasticSearch 6.2.3 Windows10 安装

    一.安装Es 1.安装java,最新版本的ElasticSearch 需要java8 版本,因此需要先去Oracle官网下载jdk,下载之后就直接安装: 2.安装过程中将其安装目录copy下来:C:\ ...

  6. javascript bind在回调中精简匿名函数的用法

    常规写法: Promise对象回调,匿名函数调用其他方法 更精简的写法: 注:这种写法的使用有两个严苛的限制. 1.回调的结果必须放在实际调用方法参数的最后一位: 2.回调函数中只调用其他一个方法.

  7. <td>标签scope属性

    HTML <td> 标签的 scope 属性 HTML <td> 标签 实例 下面的例子把两个 th 元素标识为列的表头,把两个 td 元素标识为行的表头: <table ...

  8. Java基础(9)——数组

    难点儿的已经过去啦,现在又开始基础了哈~ 之前讲变量的时候,变量是一个个的呀~,那我要搞一串变量该啷个办呢?Java给我们出了个好东西叫数组(*^▽^*) 数组呢,就是将变量一组一组的存起来,这个也是 ...

  9. 一些在线开发手册api文档收藏

    java JavaSE8 api:https://docs.oracle.com/javase/8/docs/api/ JavaSE7 api:http://docs.oracle.com/javas ...

  10. java温故而知新(8)反射机制

    一.什么是反射机制  简单的来说,反射机制指的是程序在运行时能够获取自身的信息.在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息. 二.哪里用到反射机制  有些时候,我们用过 ...