javascript 4-5章2
来源:互联网 发布:在linux上安装oracle 编辑:程序博客网 时间:2024/05/18 13:28
var color=["red","blcak","yellow","blue"];
var removed=color.splice(0,2); //从位置0开始,删除2个项。
alert(color); //yellow,blue
alert(removed); //red,black
var color=["red","blcak","purple"];
var removed2=color.splice(1,0,"white","orange"); //从位置1开始,删除0个项,并在删除项后添加“white”,"orange"
alert(color); //red,black,white,orange,purple
根据项找位置
var num=[1,2,3,4,5,4,3,2,1];
alert(num.indexOf(4)); //3 找项4,从前往后找
alert(num.indexOf(4,4); //5 找项 为4,从位置4往后找
alert(num.lastIndexOf(4)); //5 找项4,从后往前找
alert(num.lastIndexOf(4,4)); //3 找项 为4,从位置4往前找
var num=99;
alert(num.toFixed(3)); //99.000(四舍五入 保留三位小数)
Math.floor(num) //舍去 保留整数
Math.ceil(num) //入 保留整数
Math.round(num) //四舍五入 保留整数
var num=[1,2,3,4,5,4,3,2,1];
every() //如果该函数对每一项都返回true,则返回true
var everyResult=num.every(function(item,index,array){
return (item>2);
});
alert(everyResult); //false
var num=[1,2,3,4,5,4,3,2,1];
some() //如果该函数对任一项返回true,则返回true
var someResult=num.some(function(item,index,array){
return(item>2);
});
alert(someResult); //true
var num=[1,2,3,4,5,4,3,2,1];
fliter() //返回一个数组,返回该函数返回该函数返回true的项组成数组
var filterResult=num.filter(function(item,index,array){
return(item>2);
}); //[3,4,5,4,3]
var num=[1,2,3,4,5,4,3,2,1];
map() //返回一个数组,返回在原始数组的项上运行函数后的数组
var mapResult=num.map(function(item,index,array){
return(item*2);
}); //[2,4,6,8,10,8,6,4,2]
reduce()和reduceRight()
var sum=num.reduce(function(pre,cur,index,array){
return pre+cur;
});
alert(sum); //15 第一次迭代pre=1 cur=2 pre+cur=3=第二次迭代的pre; 第二次迭代:pre=3 cur=3 pre+cur=6=第3次迭代的pre,依次计算sum=15
获取对象的时间戳
var srart =Date.now();
dosomething();
var stop=Date.now();
result stop-start;
获取当前时间
var date=new Date();
比较日期值
var date1=new Date(2017,0,1); // "January 1,2017"
var date2=new Date(2017,1,1); //"February 1,2017"
alert(date1<date2); //true
alert(date1>date2); //false
getFullYear();
getMonth();
getDate();
getHours(); //获取24小时的时间
getMinutes();
getSeconds();
getUTCFullYear();
getUTCMonth();
getUTCDate();
getUTCHours(); //获取24小时的时间
getUTCMinutes();
getUTCSeconds();
getUTCMillionsecond();设置时间,如上面
setFullYear();
正则表达式
g //全局变量
i //不区分大小写
m //在到达一行文本末尾时会继续查找下一行中是否存在与模式匹配的项
所有元字符都需要转义
元字符:(【 { \ } 】) ^ $ | ? * + .
var a=/\.at/i // 在转义字符前加 \
var b=/\.at/gi //匹配所有以 .at 结尾的字符的组合,不区分大小写
var b=/.at/gi //匹配所有以 at 结尾的3个字符的组合,不区分大小写
return num1+num2;
}
构造函数:函数名首字母大写,构造函数的作用:创建
function Animal(name,age){
this.name=name;
this.age=age;
this.a= age>=3?"老了":"年轻";
}
var cat=new Animal("小猫","2"); //构造函数的调用
var dog=new Animal("小狗","4");
函数声明提升,函数表达式不会提升。
1、函数声明提升
alert(sum(10,10));
function sum(num1,num2)
{return num1+num2;}
2、函数表达式不会提升alert(sum(10,10));
var sum=function (num1,num2)
{return num1+num2;}; // 函数末尾有一个分号,就像其他变量时一样。
function callfunction(someFunction,someArgument){
return someFunction(someArgument);
}
function add(num){
return num+10;
}
alert(callfunction(add,10)); //20
有一个对象数组,根据对象的属性对数组进行排序。
function compare(propertyName){
return function(object1,object2){
var value1=object1.propertyName;
var value2=object2.propertyName;
if(value1<value2){
return -1;}else if(value1>value2){
return 1;}else{return 0;}
}}
var arr=[{name:"qq",age"2"},{name:"aa",age:5}];
arr.sort(compare("name"));
alert(arr[0].name); //aa
arr.sort(compare("age"));
alert(arr[0].age); //aa
阶乘函数一般都会用到递归算法
function factorial(num){if(num<=1){
return 1;
}else{
return num*factorial(num-1);
}
}
消除耦合
function factorial(num){
if(num<=1){
return 1;
}else{
return num*grgument.calee(num-1);
}
}
消除耦合后方便使用实例var antherFactorial=factorial;
var factorial=null;
alert(antherFactorial(5)); //120
alert(factorial(5)); //0
var color="red";
var o={color:"blue"};
function sayColor(){
alert (this.color);
}
sayColor() //red
o.sayColor=sayColor; //把函数赋给对象o
o.sayColor(); //blue
caller 保存着调用当前函数的函数的引用,实例中警告框中显示outer函数的源代码。因为outer()调用了inner(),所以inner.caller就指向outer()。(为了实现耦合可以把inner.caller改成argument.callee.caller)
alert(typeOf numvalue); //number
alert(numObj intanceOf number); //true
alert(numvalue intanceOf number); //false
var value1=“hello world”;
slice(3) // lo world 从第三位开始向后获取
slice(3,7) //lo wo 获取位置(3到7之间)
slice(3,-4) // lo w 获取位置3 到-4(-4不算)之间
substr(3) // lo world 从第三位开始向后获取
substr(3,7) //lo worl 从位置3开始,共获取七个字符
substr(3,-4) // “”空字符串 把-4转换成0
substring(3) // lo world 从第三位开始向后获取
substring(3,7) //lo wo 获取位置(3到7之间)
substring(3,-4) // hel 把-4转换为0,把较小的数作为开始位置,所以:
substring(3,-4)=substring(0,3)
var string="qqqe wrte ";
var arr=new Array();
var pos=string.indexOf("e");
if(pos>-1){
arr.push(pos);
var position=string.indexOf("e" ,pos+1);
}
trim() //删除前置和后缀的空格,
var value=" ww"
var trimevalue=value.trim();
alert(value); //" ww"
alert(trimvalue); //"ww"
var string="hello"
alert(string.toLocalUpperCase()); //HELLO 转换为大写
alert(string.toLocalLowerCase()); //hello 转换为小写
字符串的模式匹配法
1、match()只接受一个参数(正则表达式/RegExp对象),返回项
2、search()只接受一个参数(字符串或regExp对象指定的正则表达式),返回第一个匹配的索引,如果没找到匹配项,则返回-1,始终是从字符串开头向后查找。
3、replace() 两个参数,第一个参数:正则表达式/字符串,第二个参数字符串/函数。
4、split()
var color="red,blue,green";
var color1=color.split(","); //["red","blue","green"]
var color2=color.split(",",2); //["red","blue"]
var color3=color.split(/[^\,}+/); //["","",""]
5、localeCompare()
(1)var color="yellw" 首字母与比较字符串的首字母比较,若应该在后面,则返回1;若相等,则返回0,;若应该排在前面,则返回-1.大写字母排在小写字母后面。
alert(color.localeCompare("blue")); //1
alert(color.localeCompare("ypp")); //0
1、var msg="hello";
eval("alert(msg)"); //hello
2、eval(function sayHi({
alet("hello");
});
sayHi();
8、创建一个立即调用的函数
var a=function(){
return this;
}();
9、Math();首字母大写
var num=[1,2,3,4,5];
var max=Math.max.apply(Math,num); //最大值 ,关键是把Math对象作为apply()的第一个参数,从而正确的设置this,然后将数组作为第二个参数。
min //最小值
ceil //入
floor //舍
round //四舍五入
random //返回0<= Math.random() <1
选择一个介于1到10之间的值
var num=Math.floor(Math.random()*10+1);
选择一个介于2到10之间的值
var num=Math.floor(Math.random()*9+2);
function a(lowerValue,upperValue){
var num=upperValue-lowerValue+1;
var result=Math.floor(Math.random()*num+lowerValue);
}
- javascript 4-5章2
- javascript 4-5章1
- javascript高级程序设计(4-5)章笔记
- javascript高级程序设计(4、5章)
- javascript第5章
- javascript第六章2
- JavaScript精粹(4-2)
- JavaScript精粹(4-2)
- JavaScript精粹(4-2)
- JavaScript/JavaScript基础 2
- JavaScript/JavaScript对象 2
- JavaScript程序设计——第5章 浏览器中的JavaScript
- JavaScript教程:第 5 章
- JavaScript教程:第 4 章
- JavaScript:正则表达式(4-5)
- JavaScript教程:第 2 章
- 第2章 使用JavaScript
- 第2章 使用JavaScript
- Javascript fcc的高级算法题
- python连接sqlserver方法
- spring和quartz整合
- 使用命令行对apk文件进行二次签名
- android源码编译报错:prebuilts/misc/linux-x86/bison/bison: 没有这个文件或目录
- javascript 4-5章2
- 回调函数
- 快速排序
- HDU-1176-免费馅饼
- 相克军_Oracle体系_随堂笔记005-Database buffer cache
- windows批处理 打开exe后关闭cmd
- 空间换时间,把递归的时间复杂度降低到O(2n)
- 树的子结构
- Spring与Web整合