2017-3-13内容(过渡套路代码/函数的3种形式/Date对象/字符串方法/数组方法)

1.需要过渡动画的套路代码,即数值的变化,只需要找到开始量以及结束量即可

var start = 240; //开始量

var end = 0;    //结束量

var change = end - start;//变化量

var t = 0;

var maxT = 30;

var timer = setInterval(function() {

          t++;

           if(t >= maxT) {

                      clearInterval(timer);

           }

box.style.backgroundColor = "hsl("+ (change/maxT * t + start) +", 100%, 50%)";

}, 30);

2. 函数的形式 3种

a.一般函数

b.对象的方法

c.构造函数 new Date()

this的指向

a.一般函数全局对象window,在严格模式下,为undefined

b.对象的方法里调用的,this指向调用该方法的对象

c.构造函数里的this,指向创建new出来的实例

3. Date 内置的时间日期构造函数(电子表/倒计时)

var date = new Date().getTime();// 返回的是1970到现在的毫秒数,时间戳

date.getFullYear(); 年份

date.getMonth(); 月份,从0开始

date.getDate(); 日期

date.getDay(); 星期几

date.getHours();时

date.getMinutes();分

date.getSecondes();秒

4. string字符串,基本数据类型中的一种

方法是属于对象的,然而字符串也有方法?包装对象

var str = "hello world";

str.length 字符串长度

str[0]  获取第一个字符,跟str.chatAt(0)【无兼容性问题】相等

str.split("") 将字符串转换成数组

str.toUpperCase() 将字符串转换成大写

str.toLowerCase() 将字符串转换成小写

str.indexOf("s")  查找s[字符或字符串]在str中的位置,找到返回下标,找不到返回-1

str.substring(start, end) 字符串截取,不包括end下标的字符

[start, end)

str.substr(start, length) 不推荐使用,新版ecma抛弃掉

str.replace("a","A")

str.replace() 参数可以是正则表达式

str.match()

str.search()

str.trim() // 去掉首尾空格, es5新增字符串方法

5. 数组常用方法

var arr = [1,2,3,4];

arr.length; 可读可写

arr[0];

栈:先进后出,后进先出

队列:先进先出

a.在数组末尾插入元素

arr.push(item1, item2, item3...) 参数可以设置多个,返回的是数组的长度

b.删除数组里的最后一个元素

arr.pop() 返回数组最后一个元素

c.在数组的开头插入元素

arr.unshift()

d.在数组的开头删除元素

arr.shift()

e.复制数组中的某部分,不影响原数组

arr.slice(start, end) [start, end)返回一个新数组

f. 剪切/粘贴,对原数组产生影响

arr.splice(start, length) 返回的是原数组从start下标开始的length个元素组成的数组

arr.splice(start, 0, "a","b") 在数组start位置插入元素"a","b"

g. 排序

arr.sort() 按照Ascii排序 美国标准信息交换码

arr.sort(function(a, b) {return a - b;}) 按照数值大小比较

arr.sort(function(a, b) { return (Math.random() - 0.5 > 0) ? (a -b):(b - a) })

数组元素随机排列

h. 反转数组

arr.reverse();

es5 中新增的数组方法

arr.indexOf()  //判断数组里是否存在某个元素,找到返回下标,找不到返回-1

arr.every()

arr.some()

arr.forEach()

arr.map()

arr.filter()

6. 按值传递 基本数据类型的赋值

按引用传递 复合数据类型的赋值

{} === {}  false 指向的不是同一个对象,同一个对象的时候才相等

7. eval 将字符串转换成语句执行,不推荐使用,存在安全性以及性能问题

setInterval("clock()", 1000) 不推荐使用

你可能感兴趣的:(2017-3-13内容(过渡套路代码/函数的3种形式/Date对象/字符串方法/数组方法))