博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript核心语法学习部分(六)
阅读量:6655 次
发布时间:2019-06-25

本文共 2265 字,大约阅读时间需要 7 分钟。

arr.sort():默认安字符串升序排列;

自定义排序:2步:首先定义比较器函数!其次将比较器函数传递给sort方法!

什么是比较器?定义任意两值比较策略的方法

js中方法也是一个比较器,方法名就是指向方法对象的变量名!

function compare(a,b){return a-b;}//可以定义在使用前后的任何位置,原因是var声明和function声明自动提前!

相当于var compare=new Function("a","b","return a-b");//必须定义在使用之前,原因仅声明提前,赋值不提前!

arr.sort(compare);将方法作为对象传递是,仅使用方法名,后不加圆括号。

降序:颠倒比较结果,可以导致升序变降序。

升序:function compare(a,b){return a-b;}

颠倒:function compare(a,b){return -(a-b);}

栈和队列:

什么是栈?先进的后出,栈其实就是数组,只不过用一对儿方法模拟了栈的操作!

结尾入栈出栈:元素下标始终不变

入栈:arr.push()  出栈:var last=arr.pop();  LIFO

开头入栈出栈:所有元素下标岁入栈出栈操作而变化

第一个元素[0],始终最新

入栈:arr.unshift(值1,....)

出栈:var first=arr.shift()

只能从数组一端出栈,入栈。另一端封闭!

案例:十进制转换为二进制

1     var bin=[];2     var num=131;3     while(num!=0){4         bin.push(num%2);5         num=parseInt(num/2);6     };7     bin.reverse();8     document.write(bin.join(""));

 队列:FIFO,凡是需要排队的实现都需要队列。

案例:排队购票

1     var count=5; 2     var queue=[]; 3     for (var i=1;i<=5;i++){ 4         queue.push("顾客"+i); 5     } 6     queue.push("你"); 7     document.write("当前排队个数:"+"
"); 8 while(count>0){ 9 var custom=queue.shift();10 document.write(custom+"抢购成功
");11 count--;12 }13 document.write(queue+"没抢上");

 二维数组:数组的元素又是另外一个数组对象!

创建二位数组:创建普通数组完全一样,只不过将普通元素,换为一个数组对象而已

例如:var arr=[1,2,3]

var arr2=[[1,2,3],[4,5,6],[7,8]];

arr2[3]=[11,12,13];

如何访问二位数组中的任意元素:arr[父数组中的下标][子数组中的下标]

案例:访问二维数组元素

1     var arr2=[];2     arr2[0]=[101];3     arr2[1]=[201,202];4     arr2[2]=[301,302,303];5     document.write(arr2[2][1]+"
");

 如何使用二维数组:数组包含明显上下级关系;

 

内置对象:内置对象就是ECMAScript标准中已经定义好的,由浏览器厂商已经实现的标准对象!内置对象中封装了专门的数据和操作数据常用的API

JS中内置对象列表: -String/Boolean/Number/Array/Date/Mate/Error/Function/Object/Global

包装类型:专门封装原始类型数据,并且提供给数据常用操作的内置类型。

包装类型有:String类型、Number类型、Boolean类型

何时使用包装类型:只要用原始类型的数据调用方法或访问属性时,js引擎都会自动创建对应的包装类型对象,方法调用完后,对象自动释放!

创建原始类型字符串变量:var gender="男";

创建引用类型字符串对象:var carType=new String("BMW528Li");

转义字符:

 

字符串的使用:js中字符串一单创建不可改变

String包装类型;str.length:返回str字符串中的字符个数,比如:str="Hello 马里奥"  //str.length 8

大小写转换的方法:

str=str.toLowerCase():都转为小写

str=str.toUpperCase():都转为大写

何时使用:希望大小写一视同仁时,就要先转换,再处理。

案例:邮箱重复校验

1     var emails=[]; 2     var input=prompt("请输入邮箱:"); 3     emails.push(input.toLowerCase()); 4     input=prompt("请输入第二个邮箱:") 5     var i; 6     for(i=0;i

 

转载于:https://www.cnblogs.com/Angche/p/7478265.html

你可能感兴趣的文章
JS类库管理
查看>>
数据的魅力,挖掘小数据满足用户需求!
查看>>
静态路由简单配置
查看>>
web开发
查看>>
Linux Shell交互式自动化运维程序
查看>>
linux网卡
查看>>
我的敏捷个人“高效”工作总结
查看>>
Linux操作系统中的七件超厉害的武器
查看>>
Linux安装配置varnish web加速器
查看>>
RS复习之:二层技术----以太网
查看>>
都市白领保健必需的营养盘点
查看>>
Oracle创建表空间、创建用户以及授权、查看权限
查看>>
博客内容更新目录
查看>>
Wsus Client ID重复问题
查看>>
我的友情链接
查看>>
LSA类型
查看>>
正则表达式的匹配
查看>>
机器学习算法Review之分类
查看>>
Cisco ××× 实例配置方案
查看>>
JVM工作原理学习笔记
查看>>