2020年 javascript 复习总结!(不断更新)

<script type=”text/javascript”>
//字付串,数据类型。
//区分大小写 变量,函数,数组
//注释
// // /**/
//字符串,单引号和双引号的值是相同的。

//变量
//加 var 局部变量
function svar(){
var va=1;
}
//不加 var 全局变量

//获取数据类型 typeof(); 或 typeof var;
vname = “123456789”;
alert(typeof(vname));

//数据类型==================
//数据类型:数值,字符串,布尔,未定,对空,独一无二
//引用:数组,函数,对象
undefined,null,Boolean,Number,String,Object

var vwdy;
var vzfc=”1234adsf”;
var vsz = “123”;
var vbe = true; // flase;
var vn = null;
alert(typeof(vwdy)); //获得数据类型

//浮点数值
var fdsz = “123456.123”;

//数值范围
Number.MAX_VALUE; // 最大数值
Number.MIN_VALUE; //最小数值
NaN //非数值
isNaN() //是否数值

//NaN 非数值 任何涉及NaN的操作都 返回NaN
alert(isNaN(10)); //判断是否非数值

//数值的转换。
parseFloat();
parseInt();

//字符串 .length==================
var zfc = “kjadsfkjdsafkljasfl”;
alert(zfc.length);

var lang = “java”;
lang = lang + “script”;
alert(lang);
lang.length();//字符串的长度值

//转换为字符串
var vsz = 123;
alert(vsz.toString());

alert(String(vsz));

//一元运算 ==================
var num = 1;
var num1 = 2;
var sb = num++ + num1;
alert(sb);
++num //2
–num //0

//! not and or && ||
//语句==================
if(){}
while(){}

do{}while{}
for(i=0; i<10; i++){}
for(ar in window){}
break; continue;
switch(){
case 1:
break;
case 2:
break;
}

//函数==================
function seta(){
…………
}

function seta(value1,value2){
…………..
}

//作用域==================
var vname=””; //全局
function getnam(){
vname1; //全局
}
function setname(){
var vname2; //局部
}

typeof(); //检测类型

//引用类型 ==================
Object,Array

//Object
var oname = new Object();
oname.name=”wulei”;
oname.age=19;

//Object对象字面量的形式
var oname = {
“name”:”wulei”,
“age”:19,
5:true
};

//Object访问对象的属性
alert(oname.name); //访问对象属性 一般使用这种点表示法
alert(oname[“name”]);

//Array数组
var aname = new Array();
var aname = new Array(10);
var aname = new Array(“111″,”222″,”333″,”444”);

//Array数组字面量
var aname = [];
var aname = [“111″,”222″,”333″,”444”];
alert(aname[0]); //获得数组 0 下标的内容
aname[0] = “777”; //修改数组0下标的内容
alert(aname.length);
aname.length; //数组数量
aname.isArray(); //检测是否数组

LocalString();
toString(); //数组字符串形式
valueof(); //返回数组本身

var aname = [“111″,”222″,”333″,”444”];
aname.join(“||”); //111||222||333||444

var aname = [“111″,”222″,”333″,”444”];
aname.push(“555″,”666”); //数组中最后推入两项值
aname.pop(); //取得最后一项

var aname = new Array();
aname.shift();//取得数组的第一项
aname.unshift();////数组中前端推入内容 aname.pop 是后端推入内容

var aname = new Array(“111″,”222″,”333″,”444”);
aname.sort(); //重新排序。
aname.reverse(); //反转排序。

var aname = new Array(“111″,”222″,”333″,”444”);
aname.concat(“555”,[“666″,”777″,”888”]); // 组合新数组

var aname = new Array(“111″,”222″,”333″,”444”);
aname.slice(1); //从下标1开始复制新数组。 new Array(“222″,”333″,”444”);

var aname = new Array(“111″,”222″,”333″,”444″);
aname.splice(从0开始,要删除2个); //删除
aname.splice(从2开始,要删除0个,”1111″,”2222”); //插入2项
aname.splice(从1开始,要删除1个,”1111”,”2222”); //替换2项

//数组位置方法
var aname = [1,2,3,14,5,6,7,8,9,10];
aname.index(4); //从头查询
aname.index(4,4);
aname.lastIndexOf(4); //从尾查询
aname.lastIndexOf(4,4);

//数组迭代方法
var aname = [1,2,3,14,5,6,7,8,9,10];
alert(aname.indexOf(14)); //查找内容为14的数组
alert(aname.lastIndexOf(5)); //查找内容为14的数组
alert(aname.lastIndexOf(5,2)); //(查找的内容,开始的位置)

var aname = [1,2,3,14,5,6,7,8,9,10];
var sname = aname.erery(function(item,index,array){ //部分大于2,不是全部。 所以为假。
return (item > 2);
});

alert(sname); //flase

var aname = [1,2,3,14,5,6,7,8,9,10];
var sname = aname.some(function(item,index,array){ //至少有一项大于2,所以为真。
return (item > 2);
});

alert(sname); //true

var aname = [1,2,3,14,5,6,7,8,9,10];
var sname = aname.filter(function(item,index,array){ // 返回大于2的新数组。
return (item > 2);
});

alert(sname);

var aname = [1,2,3,14,5,6,7,8,9,10]; //对应*2
var sname = aname.filter(function(item,index,array){ // 返回数组对应*2的新数组
return item * 2;
});

alert(sname);

//数组归并方法
var aname = [1,2,3,14,5,6,7,8,9,10]; //// 返回所有数组的集合
var sname = aname.reduce(function(prev,cur,index,array){ // 返回所有数组的集合 从前边向后边相加
return prev + cur;
});

alert(sname);

var aname = [1,2,3,14,5,6,7,8,9,10]; //对应*2
var sname = aname.reduceRight(function(prev,cur,index,array){ // 返回所有数组的集合 从后边向前边相加
return prev + cur;
});

alert(sname);

//Date类型 – 时间
var da = new Date(); //注意大小写,不传参数自动获得系统时间,英文表示的时间。
alert(da);

var da = new Date(Date.parse(“6/13/2004”)); //注意日期格式中的引号。 返回日期的毫秒数
alert(da);

“6/13/2004”
“january 12,2004”
“Tue May 25 2004 00:00:00 GMT-0700”
“YYYY-MM-DDTHH:mm:ss.sssZ” //只有兼容ECMAscript才会实现

var da = new Date(Date.UTC(2000,0)); //注意数值 不用加引号 返回时间的毫秒数 Sat Jan 01 2000 08:00:00 GMT+0800 (中国标准时间)
alert(da);

var da = new Date(2005,4,5,17,55,55); // 月份从0开始,0是1月份。4是5月份 Thu May 05 2005 17:55:55 GMT+0800 (中国标准时间)
alert(da);

var kaishi = new Date.now(); //取得开始时间
//自定义方法在这里
var jieshu = new Date.now() //取得结束时间
jieguo = jieshu – kaishi;

//时间的一些格式化方法
toLocaleString();
toString();
toDateString();
toTimeString();
toLocaleDateString();
toLocalTimeString();
toUTCString();

//函数
function setname(abc,abd){
return abc + abd;
}
var ccc = setname(10,11);
alert(ccc);

//函数没有重载
function fun1(name){
return name + 100;
}
function fun1(name){
return name + 200;
}
var jieguo = fun1(100); //后边的函数覆盖前边的函数
alert(jieguo);

//涵数声明和涵数表达式 先读取函数声明,后读取表达式
alert(fun1(10,10));
function fun1(var1,var2){
return var1 + var2;
}

//作为值的涵数
function fun1(name1,name2){
return name1 + name2;
}
var jieguo = fun1(100,100);
alert(jieguo);

//可以从另一个涵数返回另一个函数
function fun1(name){ //传入属性名。name或者age
return function fun2(ob1,ob2){ //可以从一个涵数中返回另一个涵数
var val1 = ob1.name;
var val2 = ob2.name;
if(val1 < val2){
return -1;
}else if(val1 > val2){
return 1;
}else{
return 0;
}
}
}
var date = [{name:”name1″,age:”age1″},{name:”name2″,age:”age2″}]; //两个对象的数组
date.sort(fun1(name)); //sort(传入0,负数,正数)
date.sort(fun1(age));

//函数内部属性
function fun1(num){
if(num < 1){
return 1;
}else{
return num * fun1(num-1); //递归
}
}
alert(fun1(2));

function fun1(num){
if(num < 1){
return 1;
}else{
//return num * fun1(num-1); //递归
//避免相同耦合,可以使用 arguments.callee() 替代。
return num * arguments.callee(num-1); //函数替代。
}
}
alert(fun1(2));

//函数内部属性 this
window.color=”red”;
var o = {color:”blue”};

function fun1(){
alert(this.color);
}
fun1();
o.fun1 = fun1;
o.fun1();

//函数 属性 caller
function fun1(){
fun2(); //引入另一个函数 函数体
}
function fun2(){
alert(fun2.caller); // 因为fun1 引用了 fun2的函数体
}
fun1(); //调用的是fun1的函数体代码
—————————————-
function fun1(){
fun2(); //引入另一个函数 函数体
}
function fun2(){
alert(fun2.arguments.callee.caller); // 因为fun1 引用了 fun2的函数体 以上边的函数相同
}
fun1(); //调用的是fun1的函数体代码

//函数的属性和方法 属性 length
function fun1(name){
alert(name) //引入另一个函数 函数体
}
function fun2(name1,name2){
alert(name1 + name2) // 因为fun1 引用了 fun2的函数体
}

alert(fun1.length);
alert(fun2.length);

//函数的属性和方法 属性 length
function fun1(name){
alert(name) //引入另一个函数 函数体
}
function fun2(name1,name2){
alert(name1 + name2) // 因为fun1 引用了 fun2的函数体
}

alert(fun1.length);
alert(fun2.length);

</script>

发表评论