
由于最近找工作,面试时面试官提问时让我用伪代码回答他所提的问题,当时笔者就蒙了,满脑子就是问号,相信有部分童鞋和笔者差不多,当然大多数童鞋都是好孩子,应该都知道,于是笔者赶紧回来查了一下官方解释如下:
伪代码(Pseudocode)是一种算法描述语言。是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。使用伪代码的目的是使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java等)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。 介于自然语言与编程语言之间。以编程语言的书写形式指明算法职能。使用伪代码, 不用拘泥于具体实现。
【简单示例】输入3个数,打印输出其中最大的数。可用如下的伪代码表示:
Begin
输入 A,B,C
IF A>B 则 A→Max
否则 B→Max
IF C>Max 则 C→Max
Print Max
End 。
笔者理解为简单的计算机语言,人类语言以及逻辑符号来表示的流程说明。当然朋友们有更好的理解也可以指出来!
jquery是一个轻量级的JS框架,这点相信大部分人都听过,而jquery之所以有这样一个称呼,就是因为它悄悄披了一件外衣,将自己给隐藏了起来。
//以下截取自jquery源码片段(function( window, undefined ) { /* 源码内容 */})( window )
上面这一小段代码来自于1.9.0当中jquery的源码,它是一个无污染的JS插件的标准写法,专业名词叫闭包。可以把它简单的看做是一个函数,与普通函数不同的是,这个函数没有名字,而且会立即执行,就像下面这样,会直接d出字符串。
(function( window, undefined ) {
alert("Hello World!")
})( window )
可以看出来这样写的直接效果,就相当于我们直接d出一个字符串。但是不同的是,我们将里面的变量变成了局域变量,这不仅可以提高运行速度,更重要的是我们在引用jquery的JS文件时,不会因为jquery当中的变量太多,而与其它的JS框架的变量命名产生冲突。对于这一点,我们拿以下这一小段代码来说明。
var temp = "Hello World!"
(function( window, undefined ) { var temp = "ByeBye World!"
})( window )
alert(temp)
这段代码的运行结果是Hello而不是ByeBye,也就是说闭包中的变量声明没有污染到外面的全局变量,倘若我们去掉闭包,则最终的结果会是ByeBye,就像下面这样。
var temp = "Hello World!"// (function( window, undefined ) {
var temp = "ByeBye World!"// })( window )
alert(temp)
由此就可以看出来,jquery的外衣就是这一层闭包,它是很重要的一个内容,是编写JS框架必须知道的知识,它可以帮助我们隐藏我们的临时变量,降低污染。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)