主要是数组和字符串,掺杂一点math方法

Some Function


hasOwnProperty()
/*hasOwnProperty() 函数用于指示一个对象自身(不包括原型链)是否具有指定名称的属性。如果有,返回true,否则返回false
					该方法属于Object对象,由于所有的对象都"继承"了Object的对象实例,因此几乎所有的实例对象都可以使用该方法。*/
Array.prototype.myFunction = function(){
    alert('my function');
};
//var 一个数组 名字叫做arr 对里面数组单元进行初始化,并且每一个数组单元都是一个对象
var arr = [
    {age : 1,name : 'mike'},
    {age : 2,name : 'jake'},
    {age : 3,name : 'tom'},
];
for(var x in arr){
    console.log(arr[x].name);//这个属性的属性值是字符串类型 则在最后出现多一个空字符串。
    console.log(arr[x].age);//这个属性的属性值是number类型,则在最后出现了一个				undefined;
}
for…in可能的BUG
/*
对于使用for-in可能导出的bug,有两种方式避免

1.在循环数组集合时,不使用for-in,统一使用for(var i=0;i<length;i++)这种形式;

2.在for-in循环中增加一个hasOwnProperty的判断;


*/
    Array.prototype.myFunction = function(){
        alert('my function');
    };
    var arr = [
        {age : 1,name : 'mike'},
        {age : 2,name : 'jake'},
        {age : 3,name : 'tom'},
    ];
    for(var x in arr){
        //在这个forin里面加上一个判断语句,如果x不是这个arr中的数组下标则跳过输出
        if(!arr.hasOwnProperty(x)){continue;}
        console.log(arr[x].name);//这个属性的属性值是字符串类型 则在最后出现多一个空字符串。
        console.log(arr[x].age);//这个属性的属性值是number类型,则在最后出现了一个undefined;
    }

Math方法


Math.random()
//Math.random()生成随机数函数
var int = parseInt(Math.random()*10 +1);//生成随机数1-10;
Math.ceil()
//Math.ceil()向上取整函数,有小数就整数部分加1
console.log(Math.ceil(25.9)); //26
Math.floor()
//Math.floor()生成向下取整函数,只管整数部分,不用管其他
console.log(Math.floor(25.9));//25
Math.round()
//Math.round()遵循基本的四舍五入的原则
console.log(Math.round(25.4));//25
console.log(Math.round(25.5));//26
Math.abs()
//Math.abs();返回绝对值;
console.log(Math.abs(-12.5));//12.5
Math.max()和Math.min()
//Math.max();返回两个以上参数的最大值;Math.min();返回两个以上参数的最小值;
console.log(Math.max(1,5,6,8,7,1,2));//     8
console.log(Math.min(5,6,8,7,1,2,34,));//   1

数组的简单方法应用


添加方法 unshift() push()
var arr = [1,2,3,4,5];
//1、添加一个元素在尾部 push()
//2、             首部 unshift()
console.log(arr.push('北京'));//返回值为数组长度 结果6  尾部添加
console.log(arr);//这个数组存的内容,已经被修改后的。
console.log(arr.unshift('上海'));//返回值为数组长度 结果7 首部添加
console.log(arr);//这个已经被修改的数组。
删除方法 pop() shift()
var arr = [1,2,3,4,5];
//删除在尾部    pop()
console.log(arr.pop());//删除了尾部 返回值为删除的元素的值
console.log(arr);//1,2,3,4
//删除在首部    shift()
console.log(arr.shift());//删除了首部 返回值为删除的元素的值
console.log(arr);//2,3,4
sort()排序和reverse()倒叙
var arr = [51,28,24,128,458,345];
console.log(arr.sort());//128, 24, 28, 345, 458, 51
//sort是对元素的首位数值进行比大小排序,相同在比较第二位,以此类推。
//在除了10以内的数值排序之后一般使用sort(function(a,b){return a-b;})
//保证返回的是确切的大小。
console.log(arr.sort(function(a,b){return a-b;}));
//返回值是从小到大排            24, 28, 51, 128, 345, 458
console.log(arr.sort(function(a,b){return b-a;}));
//返回值是从大到小排            458, 345, 128, 51, 28, 24
// 使用reverse()方法 将顺序颠倒;
console.log(arr.reverse());//  24, 28, 51, 128, 345, 458
join()方法和concat()方法
var arr1 = [1,2,3];
var arr2 = ['北京'];
var arr3 = [true];
//join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。
console.log(arr1.join(''));//123 参数没有则就是默认的   ',' 可以用其他的符号;
console.log(arr1.concat(arr2.concat(arr3)));//实现了嵌套的数组拼接。
splice()方法
var arr = [1,2,3,4,5];
//一个参数
console.log(arr.splice(2));
//3, 4, 5    length:3 一个参数表示截取从这个索引下标开始到最后一个值
console.log(arr);// 1, 2  length:2  已经被截取的数组后还剩下的。
//两个参数
var arr = [1,2,3,4,5];
console.log(arr.splice(1,3));
    // 2, 3, 4  两个参数第二个表示终点值,如果超出了arr.length - 1 长度后和一个参数一样
console.log(arr);//1, 5 
//三个参数
var arr = [1,2,3,4,5,6,7,8,9,10];
console.log(arr.splice(1,3,'北京'));
//2, 3, 4   length:3    第三个参数替换的是这个整体;
console.log(arr);
//1, "北京", 5, 6, 7, 8, 9, 10     length:7

字符串理解


String---->是一个对象

String---->是一个对象
    * 字符串可以看成是字符组成的数组,但是js中没有字符类型
    * 字符是一个一个的,在别的语言中字符用一对单引号括起来
    * 在js中字符串可以使用单引号也可以使用双引号
    * 因为字符串可以看成是数组,所以,可以通过for循环进行遍历
    * 字符串特性:不可变性,字符串的值是不能改变
    * 字符串的值之所以看起来是改变的,那是因为指向改变了,并不是真的值改		变了

字符串的常用属性:

* .length------>字符串的长度
* .charAt(索引),返回值是指定索引位置的字符串,超出索引,结果是空字		符串
* .fromCharCode(数字值,可以是多个参数),返回的是ASCII码对应的值
* .concat(字符串1,字符串2,...);返回的是拼接之后的新的字符串
* .indexOf(要找的字符串,从某个位置开始的索引);返回的是这个字符串		的索引值,没找到则返回-1
* .lastIndexOf(要找的字符串);从后向前找,但是索引仍然是从左向右		 的方式,找不到则返回-1
* .replace("原来的字符串","新的字符串");用来替换字符串的
* .slice(开始的索引,结束的索引); 从索引5的位置开始提取,到索引为		10的前一个结束,没有10,并返回这个提取后的字符串
* .split("要干掉的字符串",切割后留下的个数);切割字符串
* .substr(开始的位置,个数);返回的是截取后的新的字符串
* .substring(开始的索引,结束的索引),返回截取后的字符串,不包含结		 束的索引的字符串,不改变原始字符内容
* .toLocaleLowerCase();转小写
* .toLowerCase();转字符串内容小写,不会改变原始字符串内容
* .toLocaleUpperCase()转大写
* .toUpperCase();转大写
* .trim();干掉字符串两端的空格

总结Date对象的用法:

var dt=new Date();
   var dt=+new Date();//一种特殊的写法,只适用于这个Date的对象
   console.log(dt);
    dt.getFullYear();//年	2019
    dt.getMonth();//月---从0开始	10 表示11月
    dt.getDate();//日	19
    dt.getHours();//小时	15
    dt.getMinutes();//分钟	45
    dt.getSeconds();//秒		18
    dt.getDay();//星期---从0开始		2表示星期三
    dt.toDateString();//日期	Tue Nov 19 2019
    dt.toLocaleDateString();//日期	2019/11/19
    dt.toTimeString();//时间	15:22:37 GMT+0800 (中国标准时间)
    dt.toLocaleTimeString();//时间   	下午3:24:34
    dt.valueOf();//毫秒	1574149614673

Array对象的方法;

* Array.isArray(对象)---->判断这个对象是不是数组
     * instanceof关键字
     * .concat(数组,数组,数组,...) 组合一个新的数组
     * .every(函数)--返回值是布尔类型,函数作为参数使用,函数中有三个参数,第一个参数是元素的值,第二个参数是索引值,第三个参数是原来的数组(没用)
     * 如果这个数组中的每个元素的值都符合条件,最后才返回的是true
     *
     * .filter(函数);返回的是数组中每一个元素都复合条件的元素,组成了一个新的数组
     * .push(值);--->把值追加到数组中,加到最后了---返回值也是追加数据之后的数组长度
     * .pop();--->删除数组中最后一个元素,返回值就是删除的这个值
     * .shift();--->删除数组中第一个元素,返回值就是删除的这个值
     * .unshift();--->向数组的第一个元素前面插入一个新的元素,----返回值是插入后的程度
     * .forEach(函数)方法---遍历数组用---相当于for循环
     * .indexOf(元素值);返回的是索引,没有则是-1
     * .join("字符串");----返回的是一个字符串,可以做转化为数组
     * .map(函数);--->数组中的每个元素都要执行这个函数,把执行后的结果重新的全部的放在一个新的数组中
     * .reverse();----->反转数组
     * .sort();---排序的,可能不稳定,如果不稳定,请写MDN中的那个固定的代码
     * .arr.slice(开始的索引,结束的索引);把截取的数组的值放在一个新的数组中,但是不包含结束的索引对应的元素值
     * .splice(开始的位置,要删除的个数,替换的元素的值);一般是用于删除数组中的元素,或者是替换元素,或者是插入元素

基本包装类型
 基本包装类型
    普通变量不能直接调用属性或者方法
    对象可以直接调用属性和方法
    *基本包装类型:本身是基本类型,但是在执行代码的过程中,如果这种类型的变量调用了属性或者是方法,那么这种类型就不再是基本类型了,而是基本包装类型,这个变量也不是普通的变量了,而是基本包装类型对象
//string number boolean
  var str="hello";
//    str=str.replace("ll","HH");
//    console.log(str);
//    var str=new String("hello");
//    str=str.replace("ll","HH");
//    console.log(str);
//    str=null;
//    var num=10;//number---->
//    console.log(num.toString())
//如果是一个对象&&true,那么结果是true
//如果是一个true&&对象,那么结果是对象
//    var flag=new Boolean(false);
//    var result=true&&flag;
//    console.log(result);
字符串与数组的互相转化
1、数组转字符串
arr.join()
2、字符串转数组
str.split(',')
正则表达式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值