javascript程序设计
工作流程:策划→交互→视觉→(前端)→后端→测试
视觉稿+交互稿,由前端开发成为网页UI
↓
页面制作
↓
DOM、javascript、CSS、HTML、PS
前端开发三要素
(html:内容 CSS:样式 Javascript:样式)
浏览器中的js
包括(ECMAScript【js语言核心标准】、DOM“Document Object Model”【W3C标准,操作文档对象的api】、BOM“Browser Object Model”【操作浏览器对象的api】)
变量标识符
标识符的命名规则:
①区分大小写,Myname与myname是两个不同的标识符。
②标识符首字符可以是以下划线(_)、美元符($)或者字母开始,不能是数字。
③标识符中其它字符可以是下划线(_)、美元符($)、字母或数字组成的。
数据类型
Number 字符串 布尔值 比较运算符
123; // 整数123
0.456; // 浮点数0.456
1.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5
-99; // 负数
NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示
Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity
保留字和关键字
关键字:
break、delete、function、return、typeof、case、do、if、switch、var、catch、else、in、this、void、continue、false、instanceof、throw、while、debugger、finally、new、true、const、with、default、for、null和try。
还有一些保留字在未来JavaScript版本使用的,它们主要有:
class、enum、export、extends、import和super。
严格模式
- 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
- 消除代码运行的一些不安全之处,保证代码运行的安全;
- 提高编译器效率,增加运行速度;
类型系统

类型识别
typeof:可以识别标准类型(Null除外),不能识别具体的对象类型(Function除外)
Object.prototype.toString:可以识别标准类型以及内置对象类型,不能识别自定义类型
constructor:识别标准类型(Undefined/Null除外),识别内置对象类型,识别自定义对象类型
instanceof:判别内置对象类型,不能判别原始类型,判别自定义类型
内置对象介绍

-
Object

Object.create 功能:基于原型对象创建新对象
Object.toString 功能:获取方法调用者标准类型
Object.hasOwnProperty 功能:判断一个属性是否是对象自身属性
-
Boolean

-
String

stringObj.indexOf 功能:获取字符串在字符串中位置索引
stringObj.replace(a,b) 功能:查找字符串替换成目标字符串(b替换a)
StringObj.split(分隔符,分割后保留长度) 功能:按分隔符将字符串分割成字符串数组
-
Number

NumberObj.toFixed(小数点后保留几位) 功能:将Number四舍五入为指定小数位数的数字
-
Array

arrayObj.splice(从那里开始删,删几个,替换成XXX)功能:从数组中删除或添加元素,返回被删除的元素列表
arrayObj.forEach回调函数function callback(数组中的值,索引,当前数组){} 功能:便利数组元素并调用回调函数
-
Function

functionObj.apply 功能:通过参数指定函数调用者和函数参数并执行该函数
functionObj.bing 功能:通过参数指定函数调用者和函数参数并返回该函数引用(只引用,不执行)
函数调用:()、apply、call

-
RegExp

RegExp.test 功能:使用正则表达式对字符串进行测试,并返回测试结果
特殊符“\“”转义
正则基础:图一

范围符号:图二

分组:图三

重复:图四

三个flag:图五

RegExp对象属性:图六

RegExp对象方法:图七

string类型和正则相关的方法:图八

-
Date

获取当前时间:
var now = new Date();
now; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)
now.getFullYear(); // 2015, 年份
now.getMonth(); // 5, 月份,注意月份范围是0~11,5表示六月
now.getDate(); // 24, 表示24号
now.getDay(); // 3, 表示星期三
now.getHours(); // 19, 24小时制
now.getMinutes(); // 49, 分钟
now.getSeconds(); // 22, 秒
now.getMilliseconds(); // 875, 毫秒数
now.getTime(); // 1435146562875, 以number形式表示的时间戳
-
Math

Math.floor 功能:向下取整
Math.random 功能:取随机数,返回0-1之间的浮点数
-
JSON

JSON.stringify 功能:将json对象序列化成字符串
JSON.parse 功能:将json字符串转换为json对象
- 全局对象

eval()函数可计算某个字符串,并执行其中的Javascript代码

变量作用域

- 词法环境

运算符

语句
-
条件控制语句

-
循环控制语句

-
异常处理语句

- with语句

闭包

作用一:保留变量现场

作用二:封装



浙公网安备 33010602011771号