重温《js权威指南》 第2-3章
第二章 语法结构
2.1 js区分大小写,html不区分大小写
2.5 注意分号,如果没有分号,解释器会试图解析js,并在不能解析的地方加分号
第三章 值和变量
js数据类型分两类:原始类型(数字,字符串,布尔值)和对象类型。
两个特殊的原始值:undefined,null
3.1 数字
js不区分整型和浮点类型,所有数字都是浮点数值
infinity 最大值 -infinity 最小值
1/0=infinity ,-1/0=-infinity ,0/0=Nan
js中的非数字值与任何值都不相等,所以 x==NaN无法判断x是否为NaN,用x!=x
Math对象,包含常用数字操作
Date对象,包含日期操作
3.2 文本
字符串的长度是其所含16位值的个数
字符串的常用方法:charAt(),substring(),indexOf(),toUpperCase()
Regex对象 模式匹配
3.4 null和undefined
null是一个特殊的对象,typeof(null)==object,含义是“无值”
undefined 表明变量未定义,没有初始化。
没有返回值的函数返回undefined
null==undefined ,都表示“值的空缺”
3.5 全局对象
当js解释器启动时(任何web浏览器加载新页面时),它将创建一个新的全局对象,并给它一组初始属性:
全局属性,比如:undefined,infinity,NaN
全局函数,比如:isNaN(),parseInt(),eval()
构造函数,比如:Date(),Regex(),String(),Object(),Array()
全局对象,比如:Math,JSON
可以通过别名“Global”来找到这些全局对象
3.6 包装对象
var s="asd";
s.len=4;
alert(s.len);//undefined,因为s相当于一个临时对象,s.len执行完之后就释放了
var ss=new String("asd");
ss.len=4;
alert(ss.len);//4 ,因为ss是一个对象
3.7 不可变的原始值和可变的对象引用
js的原始值(undefined,null,布尔,数字,字符串)和对象有本质的区别,原始值不可变,注意字符串。
原始值的比较是值的比较,对象的比较是引用的比较
3.8 类型转换
| 值 | 字符串 | 数字 | 布尔 | 对象 |
| undefined null |
"undefined" "null" |
NaN 0 |
false false |
throw TypeError throw TypeError |
| true false |
"true" "false" |
1 0 |
new Boolean(true) new Boolean(false) |
|
| "" "1.2" "one" |
0 1.2 NaN |
false true true |
new String("") new String("1.2") new String("one") |
|
| 0 -0 NaN Infinity -Infinity 1 |
"0" "-0" "NaN" "Infinity" "-Infinity" "1" |
false false false true true true |
new Number(0) new Number(-0) new Number(NaN) new Number(Infinity) new Number(-Infinity) new Number(1) |
|
| {}(任意对象) [](任意数组) [9](一个数字元素) ['a'](其他数组) function(){} |
"" "9" 使用join方法 |
0 9 NaN NaN |
true true true true true |
3.8.3 对象转换为原始值
1.默认的toString()方法
2.特定版本的toString()。如,函数类返回这个函数的实现,日期类返回日期和时间,RegExp类返回正则表达式直接量
3.10 变量作用域
1.函数作用域替代块级作用域
2.变量提前声明
var scope="全局"
function a(){
alert(scope);//输出undefined
var scope="局部";
alert(scope);//输出"局部"
}a();
3.使用var声明一个全局变量时,这个属性是不可配置的无法delete.而用一个未声明的变量赋值的话,js会自动创建一个全局对象的可配置的属性
4.作用域链
重温《js权威指南》 第2-3章的更多相关文章
- 《JS权威指南学习总结--第九章 类和模板》
内容要点: 一. 1.第六章详细介绍了JS对象,每个JS对象都是一个属性集合,相互之间没有任何联系.在JS中也可以定义对象的类,让每个对象都共享某些属性,这种"共享"的特性是非常有 ...
- 《JS权威指南学习总结--第二章词法结构》
第二章词法结构 内容要点: 一.注释 1. //表示单行注释 2. /*这里是一段注释*/ 3.一般编辑器里加注释是:选中要加注释的语句,按 ctrl+/ 二.直接量 所谓直接量,就是程序中直接使用的 ...
- 【vue.js权威指南】读书笔记(第一章)
最近在读新书<vue.js权威指南>,一边读,一边把笔记整理下来,方便自己以后温故知新,也希望能把自己的读书心得分享给大家. [第1章:遇见vue.js] vue.js是什么? vue.j ...
- 《JS权威指南学习总结--1.1语言核心》
1.1语言核心 --本节主要介绍<js权威指南>基础部分各章讲解内容和一些简单的示例 本小节内容: 一.第二章讲解js注释.分号和Unicode,第三章主要讲解js变量和赋值 简单示例: ...
- 《JS权威指南学习总结》
JS权威指南学习总结:http://www.cnblogs.com/ahthw/category/652668.html
- 《JS权威指南学习总结--开始简介》
本书共分成了四大部分: 1.JS语言核心 2.客户端JS 3.JS核心参考 4.客户端JS核心参考 其中 <JS权威指南学习总结--1.1语法核心> 是:第一部分JS语言核心 各章节重点 ...
- Node.js权威指南学习记录
学习nodeJS权威指南的学习记录 导航: 1.console模块 2.全局变量 3.Buffer对象 4.事件对象 5.网络请求 6.文件操作对象 一. COMMON.js的学习.(commonJS ...
- HTTP权威指南阅读记录 - 第一章
最近终于开始看<HTTP权威指南>了,第一章主要是简介一些基本的概念.下面列出一些常用,但还不是很了解的简单概念. 一.常见概念: 1.媒体类型 因特网上有数千种不同的数据类型,HTTP仔 ...
- 【HTTP权威指南】第1 章 HTTP 概述
1.1 HTTP--因特网的多媒体信使 ................................................................................ ...
随机推荐
- Github for Windows使用图文教程
原文:http://www.cr173.com/html/15618_1.html Git已经变得非常流行,连Codeplex现在也已经主推Git.Github上更是充斥着各种高质量的开源项目,比如r ...
- P1297: [SCOI2009]迷路
首先知道,如果没有路径长度的要求,且给定的邻接矩阵只有0和1表示通与不通的话,从S->E走N次的方案数就是这个矩阵自乘N次后的(S,E)的数值.这样的话只需要快速幂+矩阵乘法即可过关. (转载请 ...
- 大作业NABC分析结果
大作业NABC分析结果 这次的大作业计划制作一款关于七巧板的游戏软件.关于编写的APP的NABC需求分析: N:需求 ,本款软件主要面向一些在校的大学生,他们在校空闲时间比较多,而且热衷于一些益智类游 ...
- Jquery_联系电话正则表达式
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- 网络服务器带宽Mbps、Mb/s、MB/s有什么区别?10M、100M到底是什么概念?
网络服务器带宽Mbps.Mb/s.MB/s有什么区别?我们经常听到IDC提供的服务器接入带宽是10M独享,或者100M独享,100M共享之类的数据.这的10M.100M到底是什么概念呢? 工具/原料 ...
- PDO应用
<?php //PDO:数据访问抽象层//dsn:数据源://带有事务功能:$dsn = "mysql:host=localhost;dbname=mydb"; ——建立数 ...
- HDU 5564 Clarke and digits 状压dp+矩阵加速
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5564 题意: 求长度在[L,R]范围,并且能整除7的整数的总数. 题解: 考虑最原始的想法: dp[ ...
- 【转载】MyBatis之传入参数
原文地址:http://blog.csdn.net/liaoxiaohua1981/article/details/6862764 在MyBatis的select.insert.update.dele ...
- 【CentOS】cp显示进度条
问题描述: 使用CentOS的cp时,对于大文件的拷贝或者mv,需要等待很长时间,现在需要显示cp或mv的进度 问题解决: Advanced copy 参考官网:http://beatex.org/w ...
- C#异常处理策略
1.如果某些异常,本组件无法处理,不要捕获,但要声明有这个异常.例如SecurityException. 2.如果某些异常,本组件可以处理,捕获并处理它,不再声明此异常.例如DirectoryNotF ...