JavaScript 高级程序设计读书笔记

第一章Javascript简介

Javascript是一门专为网页交互而设计的脚本语言,由三部分组成:
① ECMAScript, 由ECMA-262定义,提供核心语言功能。
② 文档对象模型(DOM),提供访问和操作网页内容的方法和接口。
③ 浏览器对象模型(BOM),提供与浏览器交互的方法和接口。
Javascript的这三个组成部分,在当前五个主要的浏览器(IE,Firefox, Chrome, Safari 和 Opera)中都得到了不同程度的支持。对ECMAScript3的支持总体都还不错, ECMASript5支持程度越来越高。而对正式纳入HTML5标准的BOM来说,尽管各个浏览器都实现了某些众所周知的共同特性,但其他特性还是会因浏览器而异。

第二章在HTML中使用Javascript

① 在页面中script元素会按照在页面出现的顺序依次被解析。
② defer属性可以让Javascript脚本在文档完全呈现后再加载。延迟脚本总是按照指定它们的顺序执行。
③ 使用async表示当前脚本不必等待其他脚本,也不必阻塞文档呈现。不能保证异步脚本在页面出现的顺序执行。

第三章 基本概念

标识符: 变量,函数,属性的名字,或者函数的参数。
(1)标识符第一个字符必须是一个字母,下划线(_)或一个美元符号$。按照惯例,标识符采用驼峰大小写模式(userName)

严格模式:ECMScript5引入严格模式,定义了一种不同的解析和执行模型。再严格模式下,ECMSript3的一些不确定的行为将得到处理,而且对某些不安全的操作也会抛出错误。要在脚本中启用严格模式,可以在顶部添加如下代码:
“use strict”

变量:ECMSript的变量是松散类型的,可以用来保存任何类型的数据,每个变量只是一个用于保存值的占位符而已。定义变量使用 var 关键字。

数据类型

数据类型:ECMSript有五种简单数据类型(Undefined、Null、Boolean、Number、String),一种复杂数据类型 Object。Object本质上是由一组无序的名值对组成的。
NaN,非数值(Not a Number)。
isNaN() 接受一个参数,判定是否“不是数值”。无法转换为数值返回true。
Number类型数值转换:Number(), parseInt(), parseFloat()。
(1)Number() 可以用于任何数据类型。parseInt(), parseFloat()用于将字符串转化为数值。
String类型数值转换:toString(),String()
Object数据类型:
创建: var o = new Object();
ECMSript中的Object对象跟Java中的(java.lang.Object)对象一样,是所有它的实例的基础。
Object每个实例都具有的方法和属性:
(1) constructor,保存着创建当前对象的函数。
(2) hasOwnProperty(propertyName), 检测给定的属性在当前对象实例中是否存在 propertyName 必须以字符串形式指定。
(3)isPrototypeOf(Object), 检查传入的对象是否是当前对象的原型
(3) propertyIsEnumerable(propertyName), 检查给定的属性是否能否使用for-in语句枚举
(4) toLocaleString(), 返回对象的字符串表示,与执行环境的地区对应
(5) toString(),返回对象的字符串表示
(6) valueOf(), 返回对象的字符串、数值、或布尔值表示
在ECMSript中Object是所有对象的基础,因此所有的对象都具有这些基本的属性和方法。

操作符

递增递减
var num1 = 2;
var num2 = 3;
var num3 = num1– + num2; // 5
var num4 = num1 + num2; //4

在对非数值使用一元加操作符时,该操作符会像Number() 转型函数一样对这个值执行转换。
var num = false;
var num1 = +num; // 0

相等操作符:
== 和 !=,这两个操作符都会先转换操作数,再比较它们的相等性
=== 和 !==, 这两个操作数在比较前不转换操作数

函数

arguments对象:在函数体内可以通过arguments访问函数的参数,如arguments[0],表示第一个参数。
在ECMSript中可以传递任意数量的参数,并且可以通过arguments访问这些参数
因为没有函数签名的特性,ECMSript函数不能重载

第四章 变量、作用域和内存问题

猜你喜欢

转载自blog.csdn.net/qq_36085004/article/details/81544988