这里我说出自己的浅薄的理解,希望大家可以共鸣! call一些装逼的用法: call的用法通常在两个地方会用到, 1.需要加一个层的时候,也可以不准确的说继承的时候,继承是继承父类的属性或者方法,而aop面向切面的思想中,我们可以清晰的感到,加层的好处,如果在js的代码中,我们开始考虑用加一个层做一些统一的额外操作,或者额外的功能的时候,可能用call. 2.还有一个地方,就是我们通常,喜欢封装一个class或者object对象,比如类a或者b,当a调用b后,在b中可能会有很多的操作用到a中的对象…
在初步学习了node.js之后,我发现他的时序问题我一直都很模糊不清,所以我专门学习了一下这一块. 首先我们来形象地理解一下进程和线程: 进程:CPU执行任务的模块.线程:模块中的最小单元. 例如:cpu比作我们每个人,到饭点吃饭了.可以点很多菜(cpu中的进程):宫保鸡丁,鱼香肉丝,酸辣土豆丝.每样菜具体包含了哪些内容(cpu每个进程中的线程):宫保鸡丁(详情:黄瓜.胡萝卜.鸡肉.花生米).而详情构成了宫保鸡丁这道菜,吃了以后不饿.就可以干活了,cpu中的进程里的线程也是同理.当线程完成自己的…
this的指向由调用时决定而不是定义时决定,定义的方式: //直接定义在函数里 var a="window中的a"; var name="window"; function aa(args1,args2){ console.log(this.a+args1+args2); } aa(); //this=window //定义在对象中 var o={ a:"o中的aaa", name:"nicole", print:functi…
this的指向问题 一般情况下this对象指向调用函数的对象,全局环境中执行函数this对象指向window. function a(){ console.log(this); //输出函数a中的this对象 } function b(){}; var c={name:"call"}; //定义对象c var c = { getFunc:function(){ return function(){ console.log(this) } } } var cFun = c.getFunc…
今天研究js跨域问题的时候发现一篇好博,非常详细地讲解了js几种跨域方法的原理,特分享一下. 原博地址:http://www.cnblogs.com/2050/p/3191744.html 下面正文开始 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被当作是不同的域. 下表给出了相对http://store.company.com/dir/pag…
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被当作是不同的域. 下表给出了相对http://store.company.com/dir/page.html同源检测的结果: 要解决跨域的问题,我们可以使用以下几种方法: 一.通过jsonp跨域 在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的.但是,在页面上引入不同…
什么是跨域?为什么要实现跨域呢? 这是因为JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.也就是说只能访问同一个域中的资源.我觉得这就有必要了解下javascript中的同源策略是怎么回事了:javascript的同源策略 .这里更加细致详细的总结了为什么要跨域:javascript跨域之  什么是跨域?为什么跨域? 于是当我们想某些特定的功能的时候,实现合理的跨域请求就显得比较重要了.我努力通过自己动手,自己模拟环境来切实的尝试跨域是怎么回事. 第一部分总结如下: -->…
在讨论比较符的时候我们先要来讨论哈js的类型,这样有助于我们从本质上了解原理. 下面是我找的资料加上个人的总结: js中有5种数据类型:Undefined.Null.Boolean.Number和String. 还有一种复杂的数据类型Object,Object本质是一组无序的名值对组成的. JS里不区分整型和浮点型, new function(),它不再是函数,而是一个JS对象,数组在JS里也被认为是对象,JSON当然也是对象,我们一般用{}扩起来, 依次来表示它是一个JSON对象,几个JSON…
聊一下JS中的作用域scope和闭包closure scope和closure是javascript中两个非常关键的概念,前者JS用多了还比较好理解,closure就不一样了.我就被这个概念困扰了很久,无论看别人如何解释,就是不通.不过理越辩越明,代码写的多了,小程序测试的多了,再回过头看看别人写的帖子,也就渐渐明白了闭包的含义了.咱不是啥大牛,所以不搞的那么专业了,唯一的想法就是试图让你明白什么是作用域,什么是闭包.如果看了这个帖子你还不明白,那么多写个把月代码回过头再看,相信你一定会有收获:…
js中遇到的算法题不是很多,可以说基本遇不到.但面试的时候,尤其是一些大公司,总是会出这样那样的算法题,考察一个程序员的逻辑思维能力.如下: 1.回文. 回文是指把相同的词汇或句子,在下文中调换位置或颠倒过来,产生收尾回环的情况,也叫回环.如:mamam,redivider. 实现回文不是我们最常用到的for循环,而是reverse的运用.将字符串转化为数组,将数组顺序颠倒后,再转化为字符串,这个过程就实现的回文. 代码的实现: function back(str){ return str==…