javaScript高级程序设计--第5章笔记

实例的创建:

1.new出来

   var person = new Object();

  person.name = "张三";

  person.age = 15;

2.对象字面量的方法

  var person ={ //属性名未加引号

    name:"张三",

    age:15

  }

var person={  //属性名加引号,其实就是属性名可以是字符串

"name","张三",

“age”,15

}

访问对像的属性:

1.用点表示法:console.log(person.name);  //一般建议这种

2.方括号表示法:console.log(person["name"]);  //多用于属性有特殊符号或空格

 

 

数组的创建:

1.new Array方法: var arr = new Array();

2.数组字面量方法:var arr=["张三",“李四”,“王五”]

注:数组的最后一个索引是length-1;

  1. 数组的转换:toString();valueOf();toLocaleString
  2. 检测是否为数组:value.instanceOf array,  Array.isArray(value);
  3. 队列方法:

栈(后进先出),数组的实现是push()-->pop();//在数组的末尾添加,再删除数组的最后一项

队(先进先出),数组的实现是push()-->shift();//在数组的末尾添加,再删除数组的第一项

返向队(后进后出),数组的实现是unshiift()-->pop();//在数组的首位添加,再删除数组的最后一项

4.排序:

sort();数组排序和reverse();翻转数组

 /*升序*/ 

function compare(a,b){

  if(a < b){return -1; }

  else(a >b){return 1;}

  else{ return 0;}

}

/*降序*/ 

function compare(a,b){ 

  if(a < b){ return 1; }

  else(a >b){ return -1; }

  else{return 0; }

}

5.操作方法:

concat();连接数组

slice();切割,不传或可传1个或2个参数,不传指复制整个参数,1个参数时表示切割从此处开始切到数组的最后,2个参数时切割出来的新数组是不包含第二个参数的

splice(a,b);删除,a表示删除的位置,b表示删除的个数

splice(a,b,c);插入,a表示插入的位置,b表示删除的个数,这里用来插入,所以b要为0;c表示插入的具体字符;

splice(a,b,c);替换,a表示替换的位置,b表示要替换的个数,c表示新替换上的字符;

6.位置方法:

indexOf(a,b);可接收两个参数,a表示要查找的字符,b表示从哪里开始查找(下标0开始算,b参数可不传);

lastIndexOf(a,b);使用同indexOf一样,只是它是从数组的最后开始查找;

注:两个方法查到了一个对应的值后就不会往下再查了(即使数组里还有相同的数据),直到数组都查完了没查到时才返回-1。

7.跌代方法:

               every();字面意思,给数组中的每一项运行给定的函数,每一项运行的都返回true,则返回true,否则为false; 例:var numbers =[1,2,3,4,5,4,3,2,1]; numbers .every(function(item,index,array){ return (item>2) }) //结果返回的是false;

some();字面意思,给数组中的每一项运行给定的函数,只要有一项运行的返回true,就返回true,否则为false; 例:var numbers =[1,2,3,4,5,4,3,2,1];    numbers.some(function(item,index,array){ return (item>2) }) //结果返回的是true;

filter();字面意思,利用指定的函数确定返回的数组中包含某一项; 例:var numbers =[1,2,3,4,5,4,3,2,1];   numbers.filter(function(item,index,array){ return (item>2) }) //结果返回的是[3,4,5,4,3]

map();返回的数组的每一项是原数组运行指定函数后的结果 例:var numbers =[1,2,3,4,5,4,3,2,1];   numbers.map(function(item,index,array){ return (item*2) }) //结果返回的是[2,4,6,8,10,8,6,4,2]

forEarch();类似于循环

函数是没有重载的

基本数据类型与引用数据类型的最大区别是对象的生存期,

基本类型:number,boolean,string,null,undefined(最后两个类型还未看到书上写)

引用类型:array,object,function

字符方法:

concat(); //连接字符 一个或多个参数

charAt(a); //查找字符,从下标0开始算

charCodeAt(a); //查找字符的字符串编码

slice(a,b);  //切割字符,a表示从哪里开始,b表示截取到哪一位

substring(a,b); //切割字符 a表示从哪里开始,b表示截取到哪一位

substr(a,b); //切割字符 a表示从哪里开始,b表示返回的字符的个数

注:concat,slice ,substring ,substr都不会影响原字符

 

 

posted @ 2019-03-14 16:02  博客家园-晨  阅读(91)  评论(0编辑  收藏  举报