• javascript随记


    1、underscore.js提供了很多常用方法 注意查看 虽然自己没有去看underscore是怎么实现的 先学会用。。。

    2、数组反转 array.reverse();

    3、将一项添加至数组 array.push(addItem);

    4、很多牵扯到json数组的操作,下面这篇文章讲了很多

    http://blog.csdn.net/goflyfreely/article/details/7713954

    5、从json数组中删除元素 _.reject。underscore用法

    6、有时用jquery选择器选择出数组,且需要对数组中的项目进行操作,在each循环中可以使用$(this)选取当前迭代的元素。然后再操作。如下:

      checkedArray.each(function(){
        $(this).parent().css("display", "none");
      });

    7、Javascript的匿名函数可以引用其创建时作用范围内的所有变量。在回调函数中this会被重新分配,在进入回调之前可以创建一个局部变量来存储外部引用。如下:

    function MyClass(){
      this.myClassAttribute = "A class attribute";
      var myClass = this;
    
      $("span").click(function(){
        myClass.myClassAttribute = "hello";
      });
    }
    //

    8、jquery 中的{}与new object

      {} 这个叫做对象字面量

      如果new Object()中没有传入参数,与{}是一样的。

    9、关于javascript的对象新建。下面有篇文章 ,但是我怎么觉着{} 已经是对象了呢。。而extend则是对类的扩展。

    http://www.ruanyifeng.com/blog/2012/07/three_ways_to_define_a_javascript_class.html

    10、也就是说在我们现在的工程里用到了面向对象的思想。。。

    11、{} is just a shortcut for new Object().{}是新建对象的简写

      http://stackoverflow.com/questions/14051856/difference-between-and-new-object

    12、在requirejs 的模块定义时要用到return 我认为是模块定义是用var关键字定义的,只在其作用域中有效,全局无效,所以要用到return。

       requiresjs的模块良好的定义了一个作用域避免全局名称空间的污染。模块 需要new才能使用。

    13、$(ev.currenTarget) jquery 选取当前元素

    14、通常为阻止用户快速点击进行事件处理 定一个时间间隔 在此间隔内阻止事件冒泡 感觉跟android的事件处理 很类似。
    15、javascript也有异步处理。。。但是我没真正用过额。。

    16、backbone.js的事件处理 这篇文章 http://www.cnblogs.com/liuzhang/archive/2013/04/16/3021310.html
    不过代码我还是没有看懂 有好多还是不了解
    譬如这种写法:var user = function(){};
    var functionName = function(){} 与 function functionName(){}的区别:原文:http://stackoverflow.com/questions/336859/var-functionname-function-vs-function-functionname
    区别是第一种是在运行时定义的,第二种是在解析的时候定义的。
    比如下面代码:
    <script>
      // Error
      functionOne();
    
      var functionOne = function() {
      };
    </script>
    
    <script>
      // No error
      functionTwo();
    
      function functionTwo() {
      }
    </script>
    还有
    User.records = [];
    User不是定义为了function了吗。??原来ECMAScript 的函数实际上是功能完整的对象。

    还有用 || 进行的链式处理
    这篇文章:http://stackoverflow.com/questions/7190126/jquery-equivalent-of-or-operator/7190180,这里面也提到了
    jQuery.fn??
    这篇文章说明了:
    http://caibaojian.com/jquery-extend-and-jquery-fn-extend.html
    jquery的$.extend $.fn $.fn.extend的区别与用法 收获很大额

    还有this的用法 。。。这个很头疼。
    http://stackoverflow.com/questions/8469635/jquery-when-to-use-this-and-when-to-use-this 这篇文章。
                User.bind = function(ev, callback) {
                    var calls = this._callbacks || (this._callbacks = {});
                    (this._callbacks[ev] || (this._callbacks[ev] = [])).push(callback);
                }

    这里面的this相当于User。。凌乱了。。

    18、javascript是单线程的。setTimeOut 是延时处理
  • 相关阅读:
    SQL学习笔记9——SQL中检索数据之分页查询
    SQL学习笔记8——SQL中检索数据之子查询
    SQL学习笔记7——SQL中检索数据之连接查询
    Two Pointer
    LeetCode 1438. Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit
    leetcode 30 days challenge Check If a String Is a Valid Sequence from Root to Leaves Path in a Binary Tree
    LeetCode First Unique Number
    letcode1143 Longest Common Subsequence
    Leetcode 560 Subarry Sum Equals K
    leetcode Leftmost Column with at Least a One
  • 原文地址:https://www.cnblogs.com/azterzmshan/p/5283224.html
Copyright © 2020-2023  润新知