常用的js语法大全

<script>
字符串函数整理
charAt()返回在指定位置的字符.
var str='abcdef';alert(str[1]);alert(str.charAt(1));b
charCodeAt();返回在指定的位置的字符的 Unicode 编码。
var str='中国是一个字符串';alert(str.charCodeAt(0)); 返回中这个字的 Unicode 编码
fromCharCode() 将 Unicode 编码转为字符。 alert(String.fromCharCode(25105)); 我
indexOf()  方法可返回某个指定的字符串值在字符串中首次出现的位置。如果没有找到匹配的字符串则返回 -1。
var str='abac?def';alert(str.indexOf('?')); 4 第四的位置
lastIndexOf() 找最后一次出现的位置,没找到的话返回-1
var str='abacdefa'; alert(str.lastIndexOf('c'));    
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
var str='12,456 rt 77 99';alert(str.match(/\d+/g)); //12,456,77,99
replace() 字符串替换,区分大小写
var str='abAc';alert(str.replace('a', 'd')); //dbAc  
slice()字符串截取
var str='abcdef';
alert(str.slice(1,3));     //bc
alert(str.slice(1));    //bcdef    //不给结束位置,一直取到字符串结束为止
alert(str.substring(1,3));//bc
alert(str.substring(3));//def
alert(str.slice(-1));//f  负数会变成“倒数第n个”
split()把字符串分割为子字符串数组

var str='blue|leo|hello';alert(str.split('|'));     //blue,leo,hello
var str='abcdef';
alert(str.substring(1,3));        //bc  不包含结束位置
alert(str.substr(1,3));            //bcd 包含结束位置
toUpperCase() 把字符串转换为大写
var str='Blue';alert(str.toUpperCase());  //BLUE
var str1='abc';var str2='342';var str3=str1+str2;alert(str3);//abc+342
var arr=[];arr.push('abcd');arr.push('123');arr.push('xcv');alert(arr.join(',')); //abcd123xcv
//关于数组的常用函数
//定义一个数组
var arr=[12,3,4,5];        //性能略高
var arr=new Array(12,3,4,5);    //性能略低
arr.length=2;alert(arr);//(12,3)
toString() 方法可把数组转换为字符串,并返回结果。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var string=fruits.toString();alert(string);//Banana,Orange,Apple,Mango
join()把数组中的所有元素转换为一个字符串:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join('|'); alert(energy);//Banana|Orange|Apple|Mango
contact() 连接两个或更多的数组,并返回结果。
var hege = ["Cecilie", "Lone"];
var stale = ["Emil", "Tobias", "Linus"];
var kai = ["Robin"];
var children = hege.concat(stale,kai); //Cecilie,Lone,Emil,Tobias,Linus,Robin
push() 方法可向数组的末尾添加一个或多个元素,并返回新数组的长度。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var push=fruits.push("Kiwi");//alert(push);//5
alert(fruits);["Banana", "Orange", "Apple", "Mango","Kiwi"];
pop();删除并返回数组的最后一个元素
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var push=fruits.pop();alert(push);//5
alert(fruits);//["Banana", "Orange", "Apple"]
reverse() 颠倒数组中元素的顺序。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.reverse();alert(fruits);// ["Mango","Apple","Orange","Banana"]]
slice()从某个已有的数组返回选定的元素
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1,3); alert(citrus);//["Orange", "Lemon"]
splice()删除元素,并向数组添加新元素。
var fruits = ["Banana", "Orange", "Apple", "Mango","Mango3","Mango4"];
fruits.splice(2,3);//从第二个元素开始删除,删除3个元素
alert(fruits);//["Banana", "Orange","Mango4"]
var fruits = ["Banana", "Orange", "Apple", "Mango","Mango3","Mango4"];
fruits.splice(2,3,"Lemon","Lemon");//插入
alert(fruits);//实例在数组第二个位置添加新元素,并且移除前三个元素:[添加]
["Banana", "Orange", "Lemon", "Lemon","Mango4"];

sort() 方法用于对数组的元素进行排序。
排序顺序可以是字母或数字,并按升序或降序。
默认排序顺序为按字母升序。
注意:当数字是按字母顺序排列时"40"将排在"5"前面。
使用数字排序,你必须通过一个函数作为参数来调用。
函数指定数字是按照升序还是降序排列。
var arr=['left', 'float', 'apple', 'content', 'text', 'zoom', 'Apple', 'Zoom'];arr.sort();
alert(arr);//Apple,Zoom,apple,content,float,left,text,zoom //默认把它当成字符串来处理
var arr=[12,78, 335, 21, 2];
//arr.sort();    //默认的情况下,他会把所有的东西都当做字符串处理
//从小到大排序
arr.sort(function (num1, num2){
    if(num1<num2)
    {
        return -1;    //第一个比第二个靠左
    }
    else if(num1>num2)
    {
        return 1;    //右
    }
    else
    {
        return 0;    //一样,随便你
    }
});
//alert(arr);//2,12,21,78,335
//从大到小排序
var arr=[12,78, 335, 21, 2];
//arr.sort();    //默认的情况下,他会把所有的东西都当做字符串处理
arr.sort(function (num1, num2){
    return num2-num1;
});
//alert(arr);//335,78,21,12,2
//js中文字符的排序
var arr=['张三', '石川', '刘伟', '莫涛', '杜鹏', '阿杜', '毕加索'];
arr.sort(function (str1, str2){
    return str1.localeCompare(str2);
});
//alert(arr);//阿杜,毕加索,杜鹏,刘伟,莫涛,石川,张三
//setInterval()//间隔指定的毫秒数不停地执行指定的代码。
setInterval(function(){alert("Hello")},3000);//没三秒钟弹一次Hello
//clearInterval()  方法用于停止 setInterval() 方法执行的函数代码。
var oDiv=document.getElementById('div1');    
    var timer=null;
    timer=setInterval(function (){
        if(oDiv.offsetLeft==300){clearInterval(timer);}
        oDiv.style.left=oDiv.offsetLeft+10+'px';
    }, 30);
    //当离开左边距离是300就停止了运动了
//setTimeout() - 暂停指定的毫秒数后执行指定的代码 只执行一次
//clearTimeout() 方法用于停止执行setTimeout()方法的函数代码。

//js正则表达式,模式修正符号
/*
/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)
*/
var str='sdf e443 fedef  55 66gg 333322312 dff 99';
var re=/\d+/g;
alert(str.match(re));//443,55,66,333322312,99  返回的是一个数组
//要是匹配到则返回null
var str='abacdAef';
alert(str.replace(/a/gi, 'T'));//TbTcdTef
//search
var str='abcdef';
alert(str.search(/c/));//2,找不到则返回-1
var str='abcdef';
var re=new RegExp('a', 'i');alert(re.test(str));//true
var str='abcdef';var re=/a/i;alert(re.test(str));//true
//就是中使用对象话调用函数
a={
  val:9,
  init:function(){
    a.fc();
  },
  fc:function(){
    alert('1');
  }
  }
a.init();//弹出一个1

function   a(){
    var  a=arguments;
    alert(a[0]+'**'+a[1]);//1**2
    
}a(1,2);

//关于构造函数中对 prototype 的理解
function Fish(name, color)
{
    this.name=name;
    this.color=color;
}
Fish.prototype.livesIn="water";//给这个类加一个属性
Fish.prototype.price=20;//给这个类加一个属性
var fish1=new Fish("mackarel", "gray");
var fish2=new Fish("goldfish", "orange");
var fish3=new Fish("salmon", "white");
alert(fish1.name+','+fish1.color+','+fish1.livesIn+','+fish1.price);//mackarel,gray,water,20

//使用prototype来给所有对象添加共用的函数

function Employee(name, salary)
{
    this.name=name;               
    this.salary=salary;
    
}
//可以写成匿名函数
Employee.prototype.getSalary=function getSalaryFunction()
{
    return this.salary;
}
/* 和上面函数是等价的
 Employee.prototype.getSalary=function ()
{
    return this.salary;
}
*/

    Employee.prototype.addSalary=function addSalaryFunction(addition)
    {
        this.salary=this.salary+addition;
    }
    var boss1=new Employee("Joan", 200000);
    var boss2=new Employee("Kim",  100000);
    var boss3=new Employee("Sam",  150000);
    alert(boss1.getSalary());   // 输出 200000
    alert(boss2.getSalary());   // 输出 100000
    alert(boss3.getSalary());   // 输出 150000
    //把字符串换成json对象
        //1 eval 格式
        function strToJson(str){
            var json = eval('(' + str + ')');
            return json;
        } //兼容性比较好
    //2 new Function形式
    function strToJson(str){
        var json = (new Function("return " + str))();
        return json;
    }
    //3 兼容性不太好
    function strToJson(str){
        return JSON.parse(str);
    }
    //使用jsonp 来进行跨域获取数据
    $.ajax({
                    url:''+page,
                    type:'GET',
                    dataType:"jsonp",
                    jsonp:"callback",
                    jsonpCallback:"callback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
                    success:function(res){
                        
                    }
                });
    <?php             
    //对应的php代码
        //$rows 返回数组
        $jsonp = $_REQUEST["callback"];
        $str = $jsonp . "(" .json_encode($rows).")";
      echo $str;
        
    ?>
//关于js 中 跨域异步提交 值无法返回的解决方案,回调处理
//其中 callback 是回调函数
    function  bindUser(UserId,InviterId,callback)
    {

        var  passUrl=licaiApiUrl+'activity.html?action=addUserVuserRelation&UserId='+UserId+'&InviterId='+InviterId;
        $.ajax({
            url: passUrl,
            type: 'get',
            dataType:"jsonp",
            jsonp:"callback",
            jsonpCallback:"callback",
            success : function(minfo){
                callback&&callback();
            },
            error: function(XMLHttpRequest, textStatus, errorThrown){
               
               alert(textStatus);
            }
        });
    }
    
function  test(){
    
    bindUser(userid,InviterId,function(){
                            window.location.href="/activity/broker/reward.html?userid="+userid+'&inviterId='+getQueryString('inviterId')});  

}

js 回调函数返回值
function  abc(a,callback){
    if(a==1)callback(2);
}
abc(1,function(c){alert(c);});//c=2
    function f(x) {
  var g = function () { return x; }
  return g;
}
var h = f(1);
//console.log(h);   
alert(h()); //1
    </script>

转载于:https://my.oschina.net/hongjiang/blog/1563799

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值