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 是延时处理

转载于:https://www.cnblogs.com/azterzmshan/p/5283224.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值