JavaScript学习

Stella981
• 阅读 669

Object类型

    使用点表示法和对象变量访问都可以,建议用点。

    person.name = "zhang san"          等价于           person["name"]="zhang san"

Array 类型

    var colors = new Array();            var colors = new Array(20);           var colors = new Array("red","blue","green");

    使用构造函数Array时  new也可以省略,   var name = Array("zhang san");

    或者直接用原始定义   var colors = ["red","blue","green"];  colors[0]获取;

    colors.length不是只读的,即可以改变大小。colors.length为3的时候,设置colors.length=4,那么colors[3]=undefined;

    若本来只有三个长度,设置colors[99]="wight",则colors.length长度为100;

    如果数组中的某一项值是null或者undefined,那么该值在join(),toLocalString(),toString(),valueOf()方法返回结果中以空字符串表示。

    栈方法表示数组

    var colors = new Array();

    var count = colors.push("red","green");

    alert(count);               //2

    var item = colors.pop();

    alert(item);           //green 

    alert(count);               //1

    数组入栈用push,unshift,出栈用pop(),shift();

    colors.shift();            //取得第一项,移除第一项

    colors.unshift("red","green")      //在数组前面增加两项

    colors.push("red","green")        //在数组后面增加两项

    colors.pop();           //移除最后一项

经典判断类型用法  instanceof

    if (  value instanceof Array){}           //判断是不是数组;

数组排序

    反转数组reverse

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

    values.reverse();

    alert(values);//9 8 7 6 5 4 3 2 1

    排序sort   按照从小到大的顺序排序

    var values = [0,1,5,10,15];

    values.sort();

    alert(values);       //0,1,10,15,5

    原因:sort排序时是将每个值当成字符串进行排序,“10”比“5”在前;

    解决方法: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
//降序的compare 
if(value1 < value2){ return 1; 
    }else if (value1 > value2){ return -1;  
    }else{return 0;}
 //compare 里也可直接写减   只要得到的结果是正数,负数,0  就可以实现升序,降序排序。

function compare(value1,value2){

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
List的Select 和Select().tolist()
List<PersondelpnewList<Person{newPerson{Id1,Name"小明1",Age11,Sign0},newPerson{Id2,Name"小明2",Age12,
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这