文档章节

《JavaScript权威指南》笔记(二)

小微
 小微
发布于 2012/08/28 15:03
字数 853
阅读 434
收藏 16

第二篇笔记的内容主要涉及:数据类型转换,函数、对象、数组的创建以及null与undefined的比较。

1. javascript中类型转换的方法

(1)数字-->字符串:

  1. number+" ";
  2. String(number);
  3. number.toString(n);         //n为2代表转为二进制,n为8代表转为八进制,默认是十进制
  4. number.toFixed(n);          //将数字转换为字符串且显示小数点后n位
  5. number.toExponential(n); //使用指数表示法把数字转换为字符串,小数点前1位,小数点后n位
  6. number.toPrecision(n);    //使用指定的有意义的n位来显示一个数字

(2)字符串-->数字:

  1. str-0;
  2. Number(str);
  3. parseInt(str);    //无法转换时返回NaN
  4. parseFloat(str); //无法转换时返回NaN

(3)其他类型-->布尔型:

  1. Boolean(x);
  2. var x_as_boolean = !!x;  //因为!运算符会先把它的运算数转换为一个布尔类型的值,然后再计算求非

2. javascript中的函数定义

在许多语言中,函数都只是语言的语法特性,可以被定义、调用,却不是数据类型。而javascript中的函数是真正的数值,可以被存储在变量、数组和对象中,还可作为参数传递给其他函数。当一个函数赋给某个对象的属性时,它常被当作那个对象的方法来引用。

3. javascript中函数的创建方法

  1. 常规做法:function square(x) { return x*x; }
  2. 函数直接量(lambda函数):
    1. var square = function(x) { return x*x; };                                          //匿名函数
    2. var f = function fact(x) { if(x<=1) return 1; else return x*fact(x-1);}; //指定函数名,用于递归
    3. f[0] = function(x) { return x*x; };                                                    //定义并存储函数到一个数组中
    4. a.sort(function(a,b) { return a-b; });                                //定义函数并将其作为参数传给另一个函数
    5. var tensquared = (function(x) { return x*x; })(10);                           //定义并调用函数
  3. 用构造函数定义:var square = new Function("x", "return x*x");

4. javascript中对象的创建方法

  1. 用构造函数定义:var o = new Object();
  2. 对象直接量:
    1. var point = {x:2.3, y:-1.2};
    2. var empty = {};
    3. var rectangle = { upperLeft: {x:2, y:2}, "lowerRight":{x:(point.x+side), y:point.y} };

5. javascript中数组的创建方法

  1. 用构造函数定义:
    1. var a = new Array(); a[0] = 1.2; a[1] = "js";
    2. var a = new Array(1.2, "js");
    3. var a = new Array(2);  //数组长度为2
  2. 数组直接量:
    1. var a = [1.2, "js"];                  //js是一种非类型语言,所以其数组元素不必具有相同的类型
    2. var empty = [];
    3. var matrix = [[1, 2, 3], [4, 5, 6]];             //嵌套(js不支持多维数组,但数组元素可以是数组)
    4. var base = 1024; var table = [base, base+1]; //变量做数组中的元素
    5. var sparseArray = [1, , , ,5];                          //数组中存放未定义元素

6. null与undefined的区别

(1)null是js的保留字(关键字),undefined则是ECMAScript V3中的全局变量,其初始值为undefined。

(2)null是对象类型的特殊值(“无对象”),它不是有效的对象、数组、数字、字符串和布尔值。

undefined则有三种情形:

  1. 使用了一个并未声明的变量
  2. 使用了一个已经声明但未赋值的变量
  3. 使用了一个并不存在的对象属性

(3)使用==判断时,null和undefined两值相等。要区分它们需要使用===或者typeof。

(4)用var声明的变量,若未赋值则初始值是undefined。

下一篇链接:《JavaScript权威指南》笔记(三)

上一篇链接:《JavaScript权威指南》笔记(一)

© 著作权归作者所有

小微
粉丝 117
博文 78
码字总数 81696
作品 0
海淀
程序员
私信 提问
加载中

评论(7)

明舞
明舞

引用来自“小微”的评论

引用来自“明※舞”的评论

引用来自“小微”的评论

引用来自“明※舞”的评论

引用来自“小微”的评论

引用来自“明※舞”的评论

我也在看这书,第六版

我看的第五版,不晓得第六版又增加了什么新内容呢?

加了html5 和ajax?

哦,html5学习的时候我看的是《HTML5与CSS3权威指南》和《HTML 5实战》,应该会比js权威指南中讲的更有针对性吧~

恩,应该是,呵呵,你是学前端的啊??呵呵,我是主学java,闲着没事看点javascript的。

嗯,我也是以前学的java,现在对js比较感兴趣~

呵呵,跟我差不多啊,我也是这种感觉。
小微
小微 博主

引用来自“明※舞”的评论

引用来自“小微”的评论

引用来自“明※舞”的评论

引用来自“小微”的评论

引用来自“明※舞”的评论

我也在看这书,第六版

我看的第五版,不晓得第六版又增加了什么新内容呢?

加了html5 和ajax?

哦,html5学习的时候我看的是《HTML5与CSS3权威指南》和《HTML 5实战》,应该会比js权威指南中讲的更有针对性吧~

恩,应该是,呵呵,你是学前端的啊??呵呵,我是主学java,闲着没事看点javascript的。

嗯,我也是以前学的java,现在对js比较感兴趣~
明舞
明舞

引用来自“小微”的评论

引用来自“明※舞”的评论

引用来自“小微”的评论

引用来自“明※舞”的评论

我也在看这书,第六版

我看的第五版,不晓得第六版又增加了什么新内容呢?

加了html5 和ajax?

哦,html5学习的时候我看的是《HTML5与CSS3权威指南》和《HTML 5实战》,应该会比js权威指南中讲的更有针对性吧~

恩,应该是,呵呵,你是学前端的啊??呵呵,我是主学java,闲着没事看点javascript的。
小微
小微 博主

引用来自“明※舞”的评论

引用来自“小微”的评论

引用来自“明※舞”的评论

我也在看这书,第六版

我看的第五版,不晓得第六版又增加了什么新内容呢?

加了html5 和ajax?

哦,html5学习的时候我看的是《HTML5与CSS3权威指南》和《HTML 5实战》,应该会比js权威指南中讲的更有针对性吧~
明舞
明舞

引用来自“小微”的评论

引用来自“明※舞”的评论

我也在看这书,第六版

我看的第五版,不晓得第六版又增加了什么新内容呢?

加了html5 和ajax?
小微
小微 博主

引用来自“明※舞”的评论

我也在看这书,第六版

我看的第五版,不晓得第六版又增加了什么新内容呢?
明舞
明舞
我也在看这书,第六版
《JavaScript权威指南》笔记(四)

第四篇笔记的内容主要涉及:javascript中的各种语句。 1. switch语句: (1)其中的case表达式采用===匹配,而不是==做匹配 (2)习惯上将default标签放在switch主体的结尾,但实际上可以放在...

小微
2012/08/28
347
2
javascript学习笔记之概要

总体以李炎恢老师的javascript视频为主,其视频简要说明了js的核心知识。 参考书籍:javascript权威指南。

风云海滩
2015/01/07
46
0
分享51本关于JavaScript方面的学习书籍(免费下载)

分享51本关于JavaScript方面的学习书籍(免费下载) 1、JavaScript面向对象15分钟教程 2、原型、作用域、闭包的完整解释 3、Javascript面向对象特性实现(封装、继承、接口) 4、JavaScript面向...

邓剑彬
2012/12/02
1K
12
《JavaScript权威指南》笔记(一)

《JavaScript权威指南》真是名符其实的好书!真遗憾初学JavaScript时没有立即读这本书,甚为遗憾。不过小有经验之后读来更是有如醍醐灌顶一般,许多之前遇到的奇怪问题和读不懂的代码都迎刃而...

小微
2012/08/28
750
2
OSChina 第 21 期高手问答 —— ExtJS

OSCHINA 本期高手问答我们请来了《Ext JS权威指南》一书的作者 —— @黄灯桥 为大家解答关于 ExtJS 使用方面的各种问题。 黄灯桥(网名:上将军),资深Web技术专家,拥有10余年工作经验,一...

红薯
2012/06/24
6.9K
98

没有更多内容

加载失败,请刷新页面

加载更多

CSS--列表

一、列表标识项 list-style-type none:去掉标识项 disc:默认实心圆 circle:空心圆 squire:矩形 二、列表项图片 list-style-img: 取值:url(路径) 三、列表项位置 list-style-position:...

wytao1995
今天
6
0
linux 命令-文本比较comm、diff、patch

本文原创首发于公众号:编程三分钟 今天学了三个文本比较的命令分享给大家。 comm comm 命令比较相同的文本 $ cat charabc$ cat chardiffadc 比如,我有两个文件char和chardiff如上,...

编程三分钟
今天
7
0
QML教程

https://blog.csdn.net/qq_40194498/article/category/7580030 https://blog.csdn.net/LaineGates/article/details/50887765...

shzwork
今天
5
0
HA Cluster之5

对于使用heartbeat v2版的CRM配置的集群信息都是保存在一个名为cib.xml的配置文件中,存放在/var/lib/heartbeat/crm/下。CIB:Cluster Information Base,由于xml文件配置不是那么方便,所以...

lhdzw
今天
6
0
玩转Redis-Redis基础数据结构及核心命令

  《玩转Redis》系列文章主要讲述Redis的基础及中高级应用,文章基于Redis5.0.4+。本文主要讲述Redis的数据结构String,《玩转Redis-Redis基础数据结构及核心命令》相关操作命令为方便对比...

zxiaofan666
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部