var

JS作用域面试题总结

放肆的年华 提交于 2020-03-17 08:53:20
关于JS作用域问题,是面试的时候面试官乐此不疲的面试题,有时候确实是令人抓狂,今天看到一个讲解这个问题的视频,明白了那些所谓的“原理”顿时有种豁然开朗的感觉~~~ 1.js作用域(全局变量,局部变量)内部可以访问外部,但外部的不能访问内部的 var a=10; function aaa(){ alert(a); }; aaa(); //a 为外部变量即全局变量,所以可以直接访问到 结果为10 function aaa(){ var a=10; }; aaa(); alert(a); //a 为函数aaa()内部变量量即局部变量,所以无法访问到 var a=10; function aaa(){ alert(a); }; function bbb(){ var a=20; aaa(); } bbb(); //结果为10,因为aaa()函数不能访问到bbb()里面的局部变量,所以访问到的是a=10,这个全局变量。 2.不用var 定义变量时,会默认为是全局变量(不规范,不推荐) function aaa(){ a=10; } aaa(); alert(a); //结果为10; //等价于: var a; function aaa(){ a=10; }; aaa(); alert(a); //给未声明的变量赋值,此变量就会变成全局变量;var a=b=10; 可以解析成 b=10;var

Pub/Sub模式

余生长醉 提交于 2020-03-17 07:43:14
1 var PubSub = { 2 subscribe: function(ev, callback) { 3 //创建 _callbacks 对象,除非它已经存在了 4 var calls = this._callbacks || (this._callbacks = {}); 5 //针对给定的事件 ev 创建一个数组,除非这个数组已经存在 6 //然后将回调函数追加到这个数组中 7 (this._callbacks[ev] || (this._callbacks[ev] = [])).push(callback); 8 return this; 9 }, 10 publish: function() { 11 //将 arguments 对象转换为真正的数组 12 var args = Array.prototype.slice.call(arguments, 0); 13 //拿出第1个参数,即事件名称 14 var ev = args.shift(); 15 16 //如果不存在 _callbacks 对象,则返回 17 //或者如果不包含给定事件对应的数组 18 var list, calls, i, l; 19 if (!(calls = this._callbacks)) return this; 20 if (!(list = this._callbacks

javascript工具--控制台详解(转自 阮一峰博客)

允我心安 提交于 2020-03-17 06:04:06
大神这篇博客是写在2011年,主要介绍 “Firefox” 浏览器插件 “Firebug” 的操作,如今主流浏览器对控制台都已经提供了很好的支持。我自己用的最多是谷歌的 “chrome” 浏览器,下面也用 “chrome” 浏览器来调试。 一、显示信息的命令 console.log(); //控制台输入 网页中不会输出 console.info(); //一般信息 console.debug(); //除错信息 console.warn(); //警告提示 console.error(); //错误提示 “ console.log(); ” 可以用来取代 “ alert(); ” 或 “ document.write(); ” 比如,在网页中写入 “ console.log("Hello World"); ” 然后会在控制台输入,但是网页中并不会输入。 我们在代码中插入如下代码:   console.info( "这是info" );   console.debug( "这是debug" );   console.warn( "这是warn" );   console.error( "这是error" ); 加载后打开控制台会看到像下面这样: 二、占位符 console对象的上面5种方法,都可以使用printf风格的占位符。不过,占位符的种类比较少,只支持字符( %s )、整数(

C#请求API数据

落爺英雄遲暮 提交于 2020-03-17 04:06:36
后台发出 Http 请求 Get 无参请求 //1. 创建 url var url = "网址"; //2. 天加链接 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); //3. 创建一个响应,存储请求获取的响应, 响应 = 请求获取的响应 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //4. 创建一个变量,接收响应的数据 var responseText = response.GetResponseStream(); //5. 使用流读取信息,并赋值给一个变量 var text = new StreamReader(responseText).ReadToEnd(); Get 有参请求 var url = "网址 ?page=1&rows=10&sort=indexs&SearchName="; var postDate = "page=1&rows=10&sort=indexs&SearchName="; HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url); request.Method = "get";

小谈Jquery框架

◇◆丶佛笑我妖孽 提交于 2020-03-17 04:02:05
现在Jquery框架对于开发人员基本上是无人不知,无人不晓了,用起来十分的方便,特别是选择器十分强大,提高了我们的开发速度。但是好多人也只是停留在了会用的基础上,我个人觉得会用一个框架不算什么,只能说明你对那个框架比较熟悉,知道里面的思想和实现才是王道。有好多大牛对Jquery框架进行了剖析,今天我只是根据我的见解来分析一下。 一段代码如下: (function (win) { var _$ = function (selector, context) { return new _$.prototype.Init(selector, context); } _$.prototype = { Init: function (selector, context) { this.elements = []; var context = context || document; if (context.querySelectorAll) { var arr = context.querySelectorAll(selector); for (var i = 0; i < arr.length; i++) { this.elements.push(arr[i]); } } ////这一块是选择器的实现,没有写完,可以自己实现 }, each: function (callback) { if

源码浅析2--奇技淫巧

一个人想着一个人 提交于 2020-03-17 03:55:46
本篇是系列第二篇,标题起得有点大,希望内容对得起这个标题,这篇文章主要总结一下在 jQuery 中一些十分讨巧的 coding 方式,将会由浅及深,可能会有一些基础,但是我希望全面一点,对看文章的人都有所帮助,源码我还一直在阅读,也会不断的更新本文。 即便你不想去阅读源码,看看下面的总结,我想对提高编程能力,转换思维方式都大有裨益,废话少说,进入正题。 短路表达式 与 多重短路表达式 短路表达式这个应该人所皆知了。在 jQuery 中,大量的使用了短路表达式与多重短路表达式。 短路表达式:作为"&&"和"||"操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值。这是这两个操作符的一个重要属性。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 // ||短路表达式 var foo = a || b; // 相当于 if (a){ foo = a; } else { foo = b; } // &&短路表达式 var bar = a && b; // 相当于 if (a){ bar = b; } else { bar = a; } 当然,上面两个例子是短路表达式最简单是情况,多数情况下,jQuery 是这样使用它们的: 1 2 3 4 5 6 7 8 9 // 选自 jQuery

jQuery源码浅析2–奇技淫巧

旧街凉风 提交于 2020-03-17 03:55:19
最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美。 其结构明晰,高内聚、低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷、渐进增强)优雅的处理能力以及 Ajax 等方面周到而强大的定制功能无不令人惊叹。 另外,阅读源码让我接触到了大量底层的知识。对原生JS 、框架设计、代码优化有了全新的认识,接下来将会写一系列关于 jQuery 解析的文章。 我在 github 上关于 jQuery 源码的全文注解,感兴趣的可以围观一下。jQuery v1.10.2 源码注解 。 本篇是系列第二篇,标题起得有点大,希望内容对得起这个标题,这篇文章主要总结一下在 jQuery 中一些十分讨巧的 coding 方式,将会由浅及深,可能会有一些基础,但是我希望全面一点,对看文章的人都有所帮助,源码我还一直在阅读,也会不断的更新本文。 即便你不想去阅读源码,看看下面的总结,我想对提高编程能力,转换思维方式都大有裨益,废话少说,进入正题。 短路表达式 与 多重短路表达式 短路表达式这个应该人所皆知了。在 jQuery 中,大量的使用了短路表达式与多重短路表达式。 短路表达式:作为”&&”和”||”操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值

LINUX各目录用处

左心房为你撑大大i 提交于 2020-03-17 03:54:50
目录 应放置档案内容 / 根目录 /bin 放置可执行文件 /usr/bin 用户可执行文件 /usr/local/bin 用户本地可执行文件 /boot 开机需用文件,文件下vmlinuz为kernel。如有grub则下有/boot/grub /dev 设备文件 /etc 系统设置文件 /etc/init.d/ 所有服务的预设启动script,如启动iptables: /etc/init.d/iptable start /etc/xinetd.d super daemon管理的各项服务设定文件目录 /etc/X11 与X WINDOWS有关的设定档,尤其是xorg.conf或XF86Config /home 用户家目录 /lib, /usr/lib, /usr/local/lib 函数库目录,/lib/modules目录下会放置内核的相关模块 /lost+found 发生错误后,遗失的片段旋转于此目录下,通常会出现在某个分区的最顶层目录 /mnt, /media 软盘与光盘等预设挂载点放置的地方 /opt 安装软件的地方 /proc 存放系统核心、形成信息、接口设备的状态及网络状态等。目录中的数据都放在内存当中的。比较重要的档案有:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等

jQuery源码浅析2–奇技淫巧

偶尔善良 提交于 2020-03-17 03:54:30
http://www.cnblogs.com/coco1s/p/5303041.html @ChokCoco 最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美。 其结构明晰,高内聚、低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷、渐进增强)优雅的处理能力以及 Ajax 等方面周到而强大的定制功能无不令人惊叹。 另外,阅读源码让我接触到了大量底层的知识。对原生JS 、框架设计、代码优化有了全新的认识,接下来将会写一系列关于 jQuery 解析的文章。 我在 github 上关于 jQuery 源码的全文注解,感兴趣的可以围观一下。jQuery v1.10.2 源码注解 。 本篇是系列第二篇,标题起得有点大,希望内容对得起这个标题,这篇文章主要总结一下在 jQuery 中一些十分讨巧的 coding 方式,将会由浅及深,可能会有一些基础,但是我希望全面一点,对看文章的人都有所帮助,源码我还一直在阅读,也会不断的更新本文。 即便你不想去阅读源码,看看下面的总结,我想对提高编程能力,转换思维方式都大有裨益,废话少说,进入正题。 短路表达式 与 多重短路表达式 短路表达式这个应该人所皆知了。在 jQuery 中,大量的使用了短路表达式与多重短路表达式。 短路表达式:作为”&&”和”||”操作符的操作数表达式

linux目录结构

℡╲_俬逩灬. 提交于 2020-03-17 03:54:03
Linux目录结构 1. Linux树状目录结构 2. /目录 根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的, 同时根目录也与开机/还原/系统修复等动作有关。 由于系统开机时需要特定的开机软件、核心文件、开机所需程序、 函式库等等文件数据,若系统出现错误时,根目录也必须要包含有能够修复文件系统的程序才行。因为根目录是这么的重要,所以在FHS的要求方面,他希望根目录不要放在非常大的分区, 因为越大的分区内你会放入越多的数据,如此一来根目录所在分区就可能会有较多发生错误的机会。 因此FHS标准建议:根目录(/)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。 如此不但效能较佳,根目录所在的文件系统也较不容易发生问题。说白了,就是根目录和Windows的C盘一个样。 3. 其它目录 目录 描述 /bin /bin放置的是在单人维护模式下还能够被操作的指令。在/bin底下的指令可以被root与一般账号所使用,主要有:cat,chmod, chown, date, mv, mkdir, cp, bash等等常用的指令 /boot 主要放置开机使用的档案,包括Linux核心档案及开机选项与开机所需的设置档等。Linux Kernel常用的档名为:vmlinuz,如果 使用的是grub这个开机管理程序,则还会存在