js基础学习-----------------五

一 垃圾回收
一个类如果new一个对象了之后就会分配空间,并会有一个指针指向分配的空间,如果没有为这个对象添加属性和函数,就会造成空间的浪费。
解决方法:obj=null,则会自动将连接断开,之后会自动进行垃圾回收

二 数组
1 创建数组,
var arr=new Array()
console.log(typeof arr);//输出object
arr[10]=9;
arr[9]=8;
console.log(arr[7]);//输出undefined
console.log(arr.length);//输出11
var arr1=new Array(10,20);
console.log(arr1.length);//输出2
var arr2=new Array(10);
console.log(arr2.length);//输出10
###数组中的元素既可以是数组也可以是对象(使用字面量创建数组)
var arr3=[[1,2,3],[234][3]];
console.log(arr3[0][1]);
2关于数组的常用方法
1)push()//向数组添加一个或多个元素并返回数组长度
var arr=new Array()
arr[10]=9;
arr[9]=8;
var n=arr.push(1,2,3,“4”);
console.log(n);//输出15
2)pop()//删除数组中的最后一个元素并将所删除的元素返回
var a=arr.pop();
console.log(a);//输出4
console.log(arr.length);//输出14
3)unshift()//向数组开头添加一个或多个元素,并返回数组长度。
var arr=new Array()
arr[10]=9;
arr[9]=8;
var n=arr.unshift(1,2,3,“4”);
console.log(n);
for(var i=0;i<arr.length;i++)
console.log(arr[i]);//遍历数组
4)shift()//删除数组第一个元素并将第一个元素返回。
var a=arr.shift();
console.log(a);
5)foreach()//支持IE8以上浏览器,包括谷歌和火狐
var arr=[1,2,34,5,6,7,8,5,3,2];
arr.forEach(function(value,index,obj){
console.log(“arr[”+index+"]="+value);
console.log(obj);
});//obj为数组对象,value为元素值,index为数组索引
6)slice(start,end)//返回数组中指定元素,返回一个新的数组,并不会影响原数组,包括start但是不包括end,如果只有start则直接返回从start之后元素//谷歌和火狐无法识别该函数?????
var fruits = [“Banana”, “Orange”, “Lemon”, “Apple”, “Mango”];
var citrus = fruits.slice(1,3);//Orange,Lemon
7)splice(a,b,c)//返回一个新数组,从a开始删除b个元素,包括a,将新数组从删除的地方插入,并返回被删除的数组,影响原数组
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
var newArr=fruits.splice(2,1,“Lemon”,“Kiwi”);//从index=2开始删除1个元素,并从从2之后插入新的元素。
console.log(newArr);//Apple,即使没有删除任何元素,也是返回一个数组对象。
console.log(fruits)//Banana,Orange,Lemon,Kiwi,Mango
######删除重复数字
var arr = [1,2,2,1,2,3,4,3,5];
for(var i=0;i<arr.length-1;i++)
for(var j=i+1;j<arr.length;j++)
{
if(arr[i]==arr[j])
{
arr.splice(j,1);
j–;//删除的那个数补到j,如果不j–则会漏掉一个
}
}
var x=document.getElementById(“demo”);
x.innerHTML=arr;
8)arr.reverse()//将数组反转输出,影响原数组
9)sort()将数组排序
##数字从小到大排序
var points = [40,100,1,5,25,10];
points.sort(function(a,b){return a-b});
##数字逆序
var points = [40,100,1,5,25,10];
points.sort(function(a,b){return b-a});
##字母排序,按照ascall码排序
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.sort();
10)arr.concat(a1,a2,a3)//合并一个或多个数组

三 Date
0-11分别代表1-12月
getDay()//返回周几,其中0为周天,其余返回x就是周x
显示钟表

Insert title here

四 Math
1)Math.round(2.5),返回这个数取上的整数
2)Math.max(5,10);生成5-10之间的最大数
3) Math.min(5,10);生成5-10之间的最小数
Math.random()生成一个包括0-1(包括0不包括1)之间的任意数
如果生成1-100
Math.floor(Math.random()*100+1

五 String
1)字符串使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置:返回索引数
2)lastIndexOf() 方法在字符串末尾开始查找字符串出现的位置。返回位置
3) match()函数用来查找字符串中特定的字符,并且如果找到的话,则返回这个字符。
4) replace() 方法在字符串中用某些字符替换另一些字符,后边的替换前边的,返回新的字符串
5) 字符串大小写转换使用函数 toUpperCase() / toLowerCase():返回新的字符串
6)字符串使用string>split()函数转为数组:txt.split(",");返回一个数组,默认为,为分隔符。

六 RegExp
//创建正则表达式
1)var patt=new RegExp(pattern,modifiers);
2)var patt=/pattern/modifiers;
modifiers i - 修饰符是用来执行不区分大小写的匹配。
g - 修饰符是用于执行全文的搜索(而不是在找到第一个就停止查找,而是找到所有的匹配)。
m 执行多行匹配
#####test()检查字符串中是否有指定的字符,若有则返回true【正则表达式方法】
var patt1=new RegExp(“e”,“i”);
var str=“The best things in life are free”;
document.write(patt1.test(str));
#####exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null【正则表达式方法】
var patt1=/e/;
var str=“The best things in life are free”;
document.write(patt1.exec(str));

var patt1=/“e”/;
var str=“The best things in life are free”;
document.write(patt1.test(str));//返回false
#######search()返回字符串中指定字符第一次出现的位置(索引值)、【字符串方法】
var str = “Hello world world!”;
var n = str.search(/world/i);
document.write(n);//输出w的索引值
########replace()返回新的字符串【字符串方法】
var str=“hello world,hello world”;
document.getElementById(“demo”).innerHTML=str.replace(/world/ig,“js”);
#######match()检查字符串中是否有指定字符,返回一个数组【字符串方法】
var str=“Is this all there is?”;
var patt1=/is/ig;
var is=str.match(patt1);
document.write(is[0]);//输出is
########
[abc] 查找方括号之间的任何字符。
[0-9] 查找任何从 0 至 9 的数字。
(x|y) 查找任何以 | 分隔的选项,有x或者是有y
\w任意字母数字下划线
\d任意数字
\s任意空格
\b单词边界(
例var patt1=/\ba\b/g;
var str=“alkd ads a”;
document.write(patt1.test(str));//返回true,以上正则表达式为以a开头并以a结尾。
以上所有大写都是除。。。之外,与小写相反
例:去除字符串前后空格
var patt1=/^\S*|S* / g ; v a r s t r = &quot; a l k d a d s &quot; ; d o c u m e n t . w r i t e ( s t r . r e p l a c e ( p a t t 1 , &quot; &quot; ) ) ; 例 : 手 机 号 规 范 v a r p a t t 1 = / 1 [ 3 − 9 ] [ 0 − 9 ] 9 /g; var str=&quot; alkd ads &quot;; document.write(str.replace(patt1,&quot;&quot;)); 例:手机号规范 var patt1=/^1[3-9][0-9]{9} /g;varstr="alkdads";document.write(str.replace(patt1,""));varpatt1=/1[39][09]9/;
^a-------以a开头
a$-------以a结尾
[^a]除a之外
/ab{3}/=/abbb/
{3,}3次以上
{1,3}1至3次

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值