飞起来、享受生活
马上要奔三的年纪,却一直认为生活有无限的精彩,倾心享受生活的每一分钟。

1.   JS的组成:

a)   ECMAScript 是什么:担当的是一个翻译的角色;是一个解释器;帮助计算机来读懂我们写的程序;实现+-*/, 定义变量;几乎没有兼容性问题;

b)   DOM: 文档对象模型;文档指的就是网页;把网页变成一个JS可以操作的对象;给了JS可以操作页面元素的能力;document;有一些兼容性问题;

c)   BOM:浏览器对象模型;给了JS操作浏览器的能力;window;几乎不兼容;

2.   变量类型:

a)   检测变量类型: typeof

b)   类型:number, string, boolean, object, function, undefined,

c)   变量是一个杯子,它的类型是由它里面存放的东西决定的;

d)   Undefined类型出现:1是真的没有定义, 2是虽然定义了,但没有赋值;

e)   Object是什么:对象是一个复合类型,它是由一组基本类型组成的;如:div,它是一个对象,它有id,width等特性,它的id是string的,width是number的;

f)   基本类型与引用类型:

3.   变量类型转换:

a)   parseInt(); 从字符串中提取数字;

b)   NaN; not a number;

c)   NaN 和任何数计算 都是NaN;

d)   NaN 不与任何值相等,包括它自身;要比较需要使用方法isNaN();

e)   显性类型转换:

        i.      parseInt()/ parseFloat();

       ii.      NaN 的意义和检测:

1.   意义:not a number;

2.   检测:isNaN();

f)   隐式类型转换:

        i.      "==" ,就是隐式转换,它会先把两边的东西转成一样的类型,然后再进行比较;

       ii.      减法、乘法、除法 也会进行自发的隐式转换;只有加号不可以;

4.   变量作用域与闭包:

a)   作用域:就是变量能够起作用的范围;

b)   局部变量:定义在一个函数里,只能在这个函数里用;

c)   全局变量: 不定义在任何一个函数里,可以在任何地方去用;

d)   闭包:是另一种作用域;子函数可以使用父函数的局部变量; 

5.   命名规范:

a)   匈牙利命名法:

        i.      有类型前缀;

       ii.      首字母大写;

6.   运算符:

a)   算术: 加减乘除、取模(求余数%);

b)   赋值:= , +=,

c)   关系: <</span>, >, <=, >=, ==, ===,!=, !==

d)   逻辑: && 与, ||或,!取反;

e)   运算符优先级:();

7.   程序流程控制:

a)   判读: if ,switch,? :

b)   循环: while, for

c)   跳出: break(终止整个循环), continue(终止本次循环,继续下次循环;只跳过当次;)

d)   什么是真,什么是假:

        i.      真: true, 非0数字,非空字符串包括空格,非空对象

       ii.      假: false, 数字0,空字符串,空对象null, undefined,

8.   Json

a)   专门为JS诞生的一种数据格式;(JavaScript Object Notation)

b)   JS 对象标记语言;

c)   JS 和数组的关系;

d)   JS的遍历: for... in

9.   函数返回值:

a)   就是函数的执行结果;

b)   可以没有return, 它会返回一个undefined;

10.函数传参:

a)   arguments : 可变参, 存放所有的参数

b)   封装CSS函数:利用argument长度判断,同时支持获取与设置;

c)   如何获取非行间的样式:

        i.      currentStyle : 获取计算后的样式 (IE下)

       ii.      getComputedStyle : (FF下)

     iii.      可以获取默认样式;

       iv.      对于复合样式:如background无法获取;

11.数组:

a)   数组的length属性可以赋值;可以用length=0清空数组;

b)   添加与删除元素:

        i.      push() 和 pop() – 尾部添、删

       ii.      unshift() 和 shift() – 头部添、删

c)   排序:

        i.      sort():让sort排序数字,使用比较函数;

d)   转换类:

        i.      concat() : 连接两个数组,生成一个新数组;

       ii.      join(分隔符): 用分隔符组合数组元素,生成一个字符串;

     iii.      split(分隔符): 和join相反,把字符串切成数组;

e)   万能方法splice():

splice()语法:

arrayObject.splice(index,howmany,element1,.....,elementX)
参数 描述
index

必需。规定从何处添加/删除元素。

该参数是开始插入和(或)删除的数组元素的下标,必须是数字。

howmany

必需。规定应该删除多少元素。必须是数字,但可以是 "0"。

如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。

element1 可选。规定要添加到数组的新元素。从 index 所指的下标处开始插入。
elementX 可选。可向数组添加若干元素。

返回值:如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

说明:splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

        i.      参数:splice(开始位置,长度,新元素,新元素...);

       ii.      作用:先从开始位置删除一定长度的元素,再在指定位置开始插入一些元素;

     iii.      可以用于从中间插入、中间删除、以及任意位置替换;

例子1:在本例中,我们将创建一个新数组,并向其添加一个元素:

<script type="text/javascript">
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,0,"William")
document.write(arr + "<br />")

</script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin

例子2:在本例中我们将删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,1,"William")
document.write(arr)

</script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,James,Adrew,Martin

例子3:在本例中我们将删除从 index 2 ("Thomas") 开始的三个元素,并添加一个新元素 ("William") 来替代被删除的元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,3,"William")
document.write(arr)

</script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,Martin

 

posted on 2016-07-17 15:48  爱生活的小蜜蜂  阅读(183)  评论(0编辑  收藏  举报