Fork me on GitHub

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语句

闭包

作用一:保留变量现场

作用二:封装

 

posted @ 2017-03-19 17:37  NeptuneChen  阅读(188)  评论(0)    收藏  举报