文档章节

《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

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
7
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
昨天
7
0
Flutter系列之在 macOS 上安装和配置 Flutter 开发环境

本文为Flutter开发环境在macOS下安装全过程: 一、系统配置要求 想要安装并运行 Flutter,你的开发环境需要最低满足以下要求: 操作系统:macOS(64位) 磁盘空间:700 MB(不包含 IDE 或其余...

過愙
昨天
6
0
OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
昨天
2.7K
16
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
昨天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部