第三章:基本概念

ECMAScript那里5种简单数据类型(也称基本数据类型):Undefined\Null\Boolean\Number\String,另一种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。

typeof是一个操作符而不是函数.

Undefined类型:此类型仅仅有一个值,即undefined.在使用var声明变量但未对其初始化时。这个变量的值就是undefined.

var message;

var message2 = undefined;

alert(message);                   //  ”undefined”

alert(message == undefined);       //  true

alert(typeof message);            //  ”undefined”

alert(message == undefined);       //  true

alert(age);                     //   产生错误

alert(typeof age);               //  ”undefined”

Null类型:此类型仅仅有一个值,即null.表示一个空对象指针。

var car = null;

alert(typeof car);        //     ”object”

if(car != null){

//对car对象运行操作

}

undefined值是派生自null值的。

alert(null == undefined);      //true

仅仅要意在保存对象的变量还没有真正保存对象,就应该明白地让该对象保存null值。

Number类型:

,十六进制的前两位是0x.

科学计数法:e

ECMAScript所能表示的最小和最大的值各自是:Number.MIN_VALUE与Number.MAX_VALUE,超出范围。会被成Infinity值(即Number.POSITIVE_INFINITY)或者-Infinity(即Number.NEGATIVE_INFINITY).

NaN(Not a Number)

1. 不论什么涉及到NaNde 操作都会返回NaN.

2. NaN与不论什么值都不相等,包含NaN本身。

alert( NaN == NaN );    //  false

IsNaN()在接受到一个值之后,会尝试将这个值转换为数值。

alert(isNaN(NaN));              //true

alert(isNaN(10));              //false

alert(isNaN(“10”));              //false

alert(isNaN(“blue”));              //true

)

isNaN也适用于对象,会先调用对象的valueOf()方法,假设不能转换为数值。再基于返回值调用toString()方法。

数值转换:

能够将非数值转换成数值的函数:

1. Number()   用于不论什么数据类型,不解析八进制

var str ;

var str2 = null;

var str3 = “hello world”;

Number(str);        //NaN

Number(str2);       //0

Number(str3);       //NaN

Number(“”);        //0

Number(“000011”);  //11

Number(true);      //1

Number(“0xA”);     //10

一元加操作符的操作与Number()同样。

2. parseInt()  用于字符串类型(忽略前面的空格),可解析八进制

parseInt(“   1234blue”);         // 1234

parseInt(“”);                   // NaN

parseInt(“0xa”);                // 10

parseInt(“70”,8);               //56  (指定基数。即8进制)

parseInt(“10”,2);             // 2

进制

parseFloat(“1234blue”);                //1234

parseFloat(“0xA”);                    //0

parseFloat(“22.34.5”);                 //22.34

parseFloat(“0908.5”);                 //908.5

parseFloat(“3.125e7”);                //31250000

String类型:能够用双引號。也能够用单引號表示。

除了null与undefined值没有toString(),其它都有。可是null与undefined能够调用String(),返回对应的字符串。即null值返回“null”,undefined值返回“undefined”。

toString()能够传入基数參数,表示输出的进制表示。如:

var num = 10;

number.toString(2);   // “1010”

要把某个值转换为字符串,能够使用加号操作符把它与一个空字符串(””)加在一起。

with语句:

with语句的作用是将代码的作用域设置到一个特定对象中。目的是简化多次编写同一个对象的工作。样例见···

可是大量使用with语句会导致性能下降,同一时候也会给调试代码造成困难。因此在开发大型应用程序时,不建议使用with语句。

switch语句:

).

函数的返回值:

除了return语句外。没有不论什么声明表示该函数返回一个值。

另外。return语句也能够不带不论什么返回值,此时,函数在停止运行后将返回undefined。

ECMAScript的函数參数:重点

命名的參数仅仅提供便利,但不是必须的。解析器不会验证命名參数。

ECMAScript中的參数在内部是一个数组来表示的。能够通过arguments对象来訪问这个參数数组,从而訪问每个參数。

改动arguments对象中的值会自己主动反映到相应的命名參数。可是改动命名參数不会改变arguments相应的值。

没有传递值得命名參数将自己主动被赋予undefined值。

ECMAScript中的全部參数传递的都是值,不可能通过引用传递參数。

ECMAScript功能不能超载,您可以覆盖。

版权声明:本文博主原创文章。博客,未经同意不得转载。

《javascript高级编程》读书笔记(两)javascript基本概念的更多相关文章

  1. Node.js高级编程读书笔记Outline

    Motivation 世俗一把,看看前端的JavaScript究竟能做什么. 顺便检验一下自己的学习能力. Audience 想看偏后台的Java程序员关于前端JavaScript的认识的职业前端工程 ...

  2. python高级编程读书笔记(一)

    python高级编程读书笔记(一) python 高级编程读书笔记,记录一下基础和高级用法 python2和python3兼容处理 使用sys模块使程序python2和python3兼容 import ...

  3. JavaScript 函数式编程读书笔记1

    概述 这是我读<javascript函数式编程>的读书笔记,供以后开发时参考,相信对其他人也有用. 说明:虽然本书是基于underscore.js库写的,但是其中的理念和思考方式都讲的很好 ...

  4. JavaScript 函数式编程读书笔记2

    概述 这是我读<javascript函数式编程>的读书笔记,供以后开发时参考,相信对其他人也有用. 说明:虽然本书是基于underscore.js库写的,但是其中的理念和思考方式都讲的很好 ...

  5. JavaScript高级编程学习笔记(第三章之一)

    继续记笔记,JavaScript越来越有意思了. 继续... 第三章:JavaScript基础 ECMAScript语法在很大程度上借鉴了C和其它类似于C的语言,比如Java和Perl. 大小写敏感: ...

  6. javascript高级程序设计读书笔记-事件(一)

    读书笔记,写的很乱   事件处理程序   事件处理程序分为三种: 1.html事件2. DOM0级,3,DOM2级别  没有DOM1 同样的事件 DOM0会顶掉html事件   因为他们都是属性  而 ...

  7. JavaScript高级程序设计-读书笔记(1)

    第1章 JavaScript简介 JavaScript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成: l        ECMAScript:提供核心语言功能: l        文 ...

  8. unix环境高级编程-读书笔记与习题解答-第一篇

    从这周开始逐渐的进入学习状态,每天晚上都会坚持写c程序,并且伴随对这本书的深入,希望能写出更高质量的读书笔记和程序. 本书的第一章,介绍了一些关于unix的基础知识,在这里我不想去讨论linux到底是 ...

  9. [置顶] 文件和目录(二)--unix环境高级编程读书笔记

    在linux中,文件的相关信息都记录在stat这个结构体中,文件长度是记录在stat的st_size成员中.对于普通文件,其长度可以为0,目录的长度一般为1024的倍数,这与linux文件系统中blo ...

  10. Node.js高级编程读书笔记 - 1 基本概念

    Outline 1 概述和安装 1.1 安装Node 1.2 Node简介 2 Node核心API基础 2.1 加载模块 2.2 应用缓冲区处理.编码和解码二进制数据 2.3 使用时间发射器模式简化事 ...

随机推荐

  1. UC高级编程--实现myls程序

    跟着达内视频,学习UC高级编程,完毕程序小练习. 主要练习的函数为:  int lstat(const char *path, struct stat *buf);  size_t strftime( ...

  2. CI控制器调用内部方法并加载对应模板的做法

    当我打开链接:http://localhost/3g/index/open/a/b? from=timeline后,推断链接中的from是否等于timeline,假设等于timeline.那么就调用控 ...

  3. SSM框架整合( Spring 、 SpringMVC 和 Mybatis )

    1.基本概念 1.1.Spring Spring 是一个开源框架, Spring 是于 2003  年兴起的一个轻量级的 Java  开发框架,由 Rod Johnson  在其著作 Expert O ...

  4. 算法8-4:Kruskal算法

    Kruskal算法用于计算一个图的最小生成树.这个算法的过程例如以下: 依照边的权重从小到达进行排序 依次将每条边添加到最小生成树中,除非这条边会造成回路 实现思路 第一个步骤须要对边进行排序,排序方 ...

  5. UVa 884 - Factorial Factors

    题目:输出n!中素数因数的个数. 分析:数论.这里使用欧拉筛法计算素数,在计算过程中求解就可以. 传统筛法是利用每一个素数,筛掉自己的整数倍: 欧拉筛法是利用当前计算出的全部素数,乘以当前数字筛数: ...

  6. 图画(txt等一下)实施开放的默认下载的默认浏览器,而不是(Java文本)

    在网络上,假设我们超链接地址对应于jpg档,txt档,点击链接,默认浏览器打开这些文件,而不是下载,那么,你如何实现竞争力的默认下载. 1.可通过自己写一个download.jsp来实现 <%@ ...

  7. Java equals 和 hashcode 方法

    问题 面试时经常会问起字符串比较相关的问题, 总结一下,大体是如下几个: 1.字符串比较时用的什么方法,内部实现如何? 2.hashcode的作用,以及重写equal方法,为什么要重写hashcode ...

  8. pygame系列_小球完全弹性碰撞游戏

    之前做了一个基于python的tkinter的小球完全碰撞游戏: 今天利用业余时间,写了一个功能要强大一些的小球完全碰撞游戏: 游戏名称: 小球完全弹性碰撞游戏规则: 1.游戏初始化的时候,有5个不同 ...

  9. SecureCRT学习之道:SecureCRT常用快捷键设置与字体设置方法

    1:如果不想每次登陆都输入密码,可以在你打开的session里邮件session option->login action 选中automate logon 双击ogin 和assword分别输 ...

  10. app服务器

    http://heipark.iteye.com/blog/1847421http://heipark.iteye.com/blog/1847421http://wenku.baidu.com/vie ...