JavaScript高级程序设计--学习笔记

变量

var message;//定义一个名为message的变量,该变量可以保存任何值,定义之后会保存“undefined”。
message = “hi”;//省略var定义一个全局变量(带var为局部变量)
var message = "hi";//保存一个字符串
var message = true;//保存一个布尔值
var message = 39;//保存一个数字

数据类型
javascript有5种基本数据类型:Undefined,Null,Boolean,Number,String。
1种复杂数据类型:Object。Object是由一组无序的名值对组成。

typeof操作符
var messsage = "some string";
alert (typeof message);//返回“string”
alert(typeof (message));//返回“string”( 因为typeof是操作符不是函数,所以后面括号不是必须的
alert(typeof 95);//返回number
alert(typeof null);//返回“Object”
Boolean类型
var message = "Hello world";
alert(Boolean(message));//返回true
数组
var colors = new Array();
或者
var colors = ["red","green","blue"];
alert(colors.join('||'));输出red||green||blue
colors.push("black");添加一项black
colors.push("yellow","black");添加两项
colors.pop();取得最后一项并删除最后一项
colors.shift();取得第一项并移除第一项
colors.unshift("red","green");从数组前端添加任意个项并返回新数组的长度。
var values = [1,2,3,4,5];
values.reverse();//反转数组:输出5,4,3,2,1
values.Sort();//排序(可以接收一个比较函数作为参数,以便按照意愿排序)
function compare(value1,value2){
     if(value1 < value2){
          return -1;
     } else if(value1 >value2){
          return 1;
     } else {
          return 0;
     }
}
var values = [0,1,5,10,15];
values.sort(compare);
alert(values);//0,1,5,10,15

concat()函数
var colors = ["red","green","blue"];
var colors2 = colors.concat("yellow")//复制colors一个副本并往副本中添加一项yellow

var colors2 = colors.slice(1);//返回该数组从第一项到最后一项的副本数组
alert(colors2);//输出green,bule

var colors2 = colors.slice(1,2);//返回该数组从第一项到第二项之前的副本数组
alert(colors2);//输出green

splice()函数
删除:可以删除任意数量的项,只需要指定2个参数:splice(0,2)会删除数组中的前两项。
插入:只需提供3个参数:起始位置、0(要删除的项数)、要插入的项例如:splice(2,0,"red")从数组位置2之后开始插入red
替换:splice(2,1,"red","pink")从数组位置2之后删除一项并添加两项
indexOf()函数(===全等查找)要求查找的项必须严格相等
从开头位置(位置0)向后查找
可以传入两个参数:要查找的项和查找起始点(可选)
lastIndexOf()函数(===全等查找)要求查找的项必须严格相等
从末尾位置向前查找
可以传入两个参数:要查找的项和查找起始点(可选)


迭代函数

every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。
filter():对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组。
forEach():对数组中的每一项运行给定函数,无返回值。
map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true。

var numbers = [1,2,3,4,5,4,3,2,1];
var result = numbers.every(function(item,index,array){
     retrun (item >2);
}); //false

var result = numbers.some(function(item,index,array){
     return (item >2);
});//true

var result = numbers.filter(function(item,index,array){
     return (item >2);
}); //[3,4,5,4,3]

var result = numbers.map(function(item,index,array){
     return item * 2;
}); //[2,4,6,8,10,8,6,4,2]
number.forEach(function(item,index,array){
    //执行某些操作( 类似for循环
});

缩小函数
reduce().reduceRight()函数
var values = [1,2,3,4,5];
var sum = values.reduce(function(prev,cur,index,array){
      return prev + cur;
});//遍历数组求所有值的和
reduceRight()类似,但相反。

5.3 Date类型
var now = new Date();
Date.UTC();//毫秒数
Date.parse();//按照格式
var someDate = new Date("May 25, 2004"));//创建日期对象
等价于var someDate = new Date("May 25,2004");

var y2k = new Date(Date.UTC(2000,0));//GMT时间2000年1月1日零时
var allFive = new Daye(Date.UTC(2005,4,5,17,55,55));//GMT时间2005年5月5日下午5:55:55(月份:0是1月,1是2月。天:1-31,小时:0-23)

var y2k = new Date(2000,0);//本地时间2000年1月1日零时
var allFive = new Daye(2005,4,5,17,55,55);//本地时间2005年5月5日下午5:55:55(月份:0是1月,1是2月。天:1-31,小时:0-23)

Date.now()方法,返回日期和时间的毫秒数
var start = Date.now();//开始时间
var end = Date.now();//结束时间(end-start)
或者:
var start = +new Date();//将Date对象转化为字符串

5.4 RegExp类型
var expression = /pattern/flags;//pattern为正则表达式
flags支持3中标志:
g:全局模式(将被应用与所有字符串,而非在发现第一个匹配项时停止)
i:表示不区分大小写
m:多行模式,到达一行文本末尾时还会继续查找下一行中是否存在与模式匹配的项。

5.6.2Number类型
var num = 10;
alert(num.toFixed(2));//10.00
var num = 10.005;
alert(num.toFixed(2));//10.01

var num = 10;
num.toExponential(1);//1.0e+1

var num = 99;
alert(num.toPrecision(1));//1e+2
alert(num.toPrecision(2));//99
alert(num.toPrecision(3));//99.0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值