zoukankan      html  css  js  c++  java
  • javascript的一些札记

    1. 原来放在不同js文件里面的$(document).ready(function(){})都会执行到。

    2. $(window).scroll(function(){})  窗口滚动事件。

    3. $('#h_study_index').live('pageshow',function(event){});可以有多个绑定,多个绑定都会执行。按先后顺序执行。

    4. 以前认为ajax是异步的,会不会出现代码交叉执行(这个在多线程中很常见),后来知道我想多了,js是单线程的,不会存在同时执行的情况。

    ajax的执行块也是各自独立的,它们也是按先后执行的。就有点类似于安卓的Handler。

    5. replace用法。参数g是匹配所有的,参数i是不区分大小写。

    "abc".replace(/b./g,function(a,b,c){
        //a是匹配上的字符串,如bc
        //b是匹配字符器的位置,如1
        //c是整个字符串,如abc
    });
    

      

    6. js引用js

    其实可以试试使用,JQuery的$.getScript();方法来实现的。
    $.getScript("/js/common/taglib/xxx.js",function(){
      functionXXX();

    })

    7. 超简洁的js解析xml

        var xml = '<result id="78"><u>key</u></result>';
        var xmlObj = $(xml);
        alert(xmlObj.attr('id'));
        alert(xmlObj.find('u').text());

    8. 以前觉得js不支持Set的类型,怪不方便的,后来看avalon源码的时候,发现这样一种写法,很实用。

        var array = ["David", "Jackson"];
        Array.prototype.contain = function(str){
            return this.indexOf(str)>-1;
        }
        Array.prototype.remove = function(str){
            var index = this.indexOf(str);
            if(index>-1){
                this.splice(index, 1);
            }
            return this;
        }
        alert(array.contain("ken"));
        alert(array.contain("David"));
        
        alert(array.remove("ken"));
        alert(array.remove("Jackson"));

     9. JSON.stringify原来还有传3个参数。

    一直以为JSON.stringify是传一个参数的。原来它的完整语法是JSON.stringify(value [, replacer] [, space]) ,第二个参数可以把对象变数组、过虑属性。第三个参数可以控制显示格式,比如加换行符、加缩进。2017-05-07

  • 相关阅读:
    pycharm 安装第三方库报错:AttributeError: 'module' object has no attribute 'main'
    工作冥想
    对于测试工作与测试人员未来出路的思考
    测试计划再谈
    python 反转列表的3种方式
    关于最近练习PYTHON代码的一点心得
    python sum()函数的用法
    python count()函数
    SpringCloud和SpringBoot的详细版本说明
    使用 lntelliJ IDEA 创建 Maven 工程的springboot项目
  • 原文地址:https://www.cnblogs.com/angelshelter/p/3972341.html
Copyright © 2011-2022 走看看