- 博客(91)
- 收藏
- 关注
原创 JavaScript比较运算
等值检测等值检测的目的在于判断两个变量是否相同或相等。我们说相同与不相同,是指运算符“===”和“!==”的运算效果;说相等与不相等,是指运算符“==”和“!=”的运算效果。我们可以用个表格来表示:比较运算中的等值检测名称运算符说明相等==比较两个表达式,看是否相等不等!=比较两个表达式,看是否不相等
2016-02-18 17:08:39
701
原创 JavaScript逻辑运算
逻辑运算分为两种,一种会改变目标数据类型,另一种则不会。前者的典型代表是逻辑非运算,无论运算元是什么类型,执行逻辑非运算后,都会被转化为bool值。例如:[javascript] view plain copy var a = "123"; var b = !a; // false 而另一种形式则不改变目标类型,且支持布尔短路,包
2016-02-18 17:07:05
724
原创 JavaScript位运算
位运算的运算元和目标类型都是数值类型,运算符为~,&,|,^,>等中的一个。特别注意的是,位运算是针对二进制数进行运算,即会先将数值转化为二进制,运算结果也是二进制数,当然,我们看到的时候已经被转化为十进制数了,如果没有特别指定的话。从ECMAScript的整数说起ECMAScript 整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数)。在 ECMAScr
2016-02-18 17:06:09
1096
原创 JavaScript赋值运算与数值运算
赋值运算赋值运算的形式为左值 = 右值。如果同个表达式中有多个赋值运算,则从右到左运算。例如:[javascript] view plain copy a = b = c; // 和下面两行等价 b = c; a = b; 另外一种赋值运算的形式叫做复合赋值运算符,形式为左值 op= 右值,其中op=表示部分运算
2016-02-18 17:05:11
806
原创 caller与callee
这两个对象,是用于判断函数调用和执行的对象函数的。其中,arguments.callee返回当前正在执行的函数,func.caller返回函数的调用体所在函数。而arguments.caller永远返回undefined。如果调用函数是在全局进行,那么func.caller将返回null。注意,在严格模式下这两个对象将被禁用。我们举刚才的一个代码为例:[javascri
2016-02-03 14:40:58
759
原创 arguments对象
函数中,有一个默认的对象,不需要你去声明,也不需要你去赋值,它叫做arguments,它是一个数组,保存着参数列表。先来看一个例子:[javascript] view plain copyfunction add(num1, num2) { console.log(arguments); // [1, 2] retur
2016-02-03 14:40:16
412
原创 JavaScript函数调用及嵌套
函数调用函数的调用和C中差不多,但形式可能有点不同。JavaScript的函数调用形式为:(函数)(参数列表)或者函数名(参数列表)。后者和C是一样的,但前者和C是迥然不同的,因为C中函数声明和函数调用是区分开的。先来看下例子:[javascript] view plain copyfunction add(num1, num2) {
2016-02-03 14:20:35
3094
原创 javascript函数声明
之前说的三种函数声明中(参见 javascript变量声明),使用Function构造函数的声明方法比较少见,我们暂时不提。function func() { }和var func = function() { }除了在声明提升中有所不同之外也没有其他不同,我们合并起来一起看。我们在这里着重讲一个东西——匿名函数。匿名函数顾名思义,就是没有名字的函数。它的形式就是function(
2016-02-03 14:18:18
438
原创 JavaScript逻辑语句
前面讲过,学过C的再学JS很容易。事实上,JS的常用语句和C基本一致。条件语句和C一模一样,这里就不再赘述了if(condition) { statement; }if(condition) { statement1; } else { statement2; }if(condition1) { statement1; } else if(condition2) { s
2016-01-31 11:53:11
644
原创 JavaScript基本语句
基本概述JavaScript是脚本语言,从上到下解释执行,最小单位为语句或语句块,每个语句以分号结尾,每个语句块以右大括号结尾。JavaScript可以将多条语句或语句块放到同一行,如果每一行只有一句语句的话,结尾的分号可以省略,但强烈建议不要这么做!因为若是压缩代码,所有语句将处于同一行,没有分号分隔的话后果不堪设想![javascript] view p
2016-01-31 11:41:46
394
原创 javascript变量类型
前面说过JavaScript没有C的int、float等关键字,那么,JavaScript变量有没有类型呢?前面说了,若变量为字符串,则初始化为空字符串等等,那就肯定有类型了。JavaScript共有6种基本变量未定义 undefined字符串 string数值 number布尔值 boolean函数 function对象 object其中,前四种
2016-01-31 11:26:58
556
原创 javascript变量声明
JavaScript的变量声明分为显式声明跟隐式声明。显式声明即带var关键字声明,例如[javascript] view plain copyvar example = example; 要注意JavaScript里面声明的关键字只有function和var两个,不要和C之类的int、float等弄
2016-01-31 11:18:19
549
原创 ES6 生成器
本文内容主要来自《深入浅出ES6》ES6生成器不是指生成ES代码的机器。示例代码:先看一段示例:function* quips(name) { yield "你好 " + name + "!"; yield "希望你能喜欢这篇介绍 ES6 的译文"; if (name.startsWith("X")) { yield "你的名字 "
2016-01-25 20:57:29
683
原创 js数组遍历
js里面,数组遍历有很多种方式。经典版:for (var index = 0; index < myArray.length; index++) { console.log(myArray[index]);}ES5出现了内建的forEach函数:myArray.forEach(function (value) { console.log(value);
2016-01-19 17:48:48
1196
转载 JavaScript异步编程的Promise模式
原文地址:http://www.infoq.com/cn/news/2011/09/js-promise/异步模式在web编程中变得越来越重要,对于web主流语言Javascript来说,这种模式实现起来不是很利索,为此,许多Javascript库(比如 jQuery和Dojo)添加了一种称为promise的抽象(有时也称之为deferred)。通过这些库,开发人员能够在实际编程中使用 p
2016-01-19 15:53:01
575
原创 HTTP方法总结
GET GET是最常用的方法,通常用于请求服务器发送某个资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求不包含实体。 根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。(1) 所谓安全的意味着该操作用于获取信
2016-01-19 09:46:17
563
原创 递归求平均数
题目:使用递归方式,只用一个函数求出一个数字数组前N个数字的平均数function mean(arr, length) { if(length === 1) { return arr[0]; } return ( arr[length - 1] + mean(arr, length - 1) * (length - 1) ) / length;}测
2015-12-17 18:19:15
3201
原创 jquery one方法实现
jquery中有一个方法:one,用途是事件绑定只执行一次就自动解除绑定。源码看了很久头晕,决定自己搞一个。研究了很久,用原生的模拟了一次。我用的名字是once。最初的方法是这样的:function once(dom, event, callback) { var temp = callback; dom.addEventListener(event, functi
2015-12-17 11:32:41
3376
2
原创 前端mock数据
作为前端经常需要模拟后台数据,我们称之为mock。通常的方式为自己搭建一个服务器,返回我们想要的数据。项目中遇到的请求链接是类似这样子的:www.abc.com/user/login,而不是请求某个文件,如果采用PHP+Apache的方式就需要做路径重写,太麻烦。这里用的是nodejs搭建。一般来说,请求的链接无非是http或者https的。但有个问题,本人用的mac电脑,在mac和Lin
2015-12-15 18:42:22
20923
原创 sublime text安装插件时提示There are no packages available for installation问题解决
在某些电脑上用sublime安装插件时,会连接很久然后弹框说There are no packages available for installation,在网上找了很久,最后都发现不行。先把网上的方法给贴出来。方法一:绑定 hosts。参照http://stackoverflow.com/questions/25105139/sublime-text-2-there-are-n
2015-11-28 00:28:38
10251
1
转载 sublime text安装package control
转载自:https://packagecontrol.io/installation打开sublime text,同时按ctrl+`(esc下面那个)键,mac下则为command+`将以下代码复制进去,按enter。注意sublime text 2和3的代码稍有不同sublime text 2import urllib2,os,hashlib; h = '291
2015-11-27 23:43:40
499
原创 用python开启简单服务器
实际中我们经常需要开设一个临时服务器,node和python都是可选的,python适用性强一些,尤其是linux、mac自带了python不需要重新安装。进入到目标目录,也就是服务器的根目录,输入下列代码:python -m SimpleHTTPServer port其中port是端口号,一般不要太小都不会和默认端口号冲突(建议1000以上)windows下由于编
2015-11-27 23:36:51
1684
原创 前端优良习惯集锦
运算符使用使用 === 而不是 == 避免隐式转换,详见JavaScript快速入门(五)——表达式运算。内置函数使用parseInt parseInt是一个内置函数,可以将非数字(一般是字符串)转换为数字,开始转换时,从第一位开始,直到该位置不是数字为止。如果第一位就不是数字,返回NaN。 一般使用的时候,我们都是这么使用:
2015-11-10 17:06:54
717
1
原创 字符雨效果实现
题目模仿黑客帝国的字符雨特效,要求字符串中的字符随机,长度随机,位置随机。效果图:样例答案CSShtml, body { margin: 0; padding: 0;}ul, li { list-style: none;}.flow { display: none; position: fixed; t
2015-11-08 12:57:19
3867
原创 sass入门
参考资料Sass: Syntactically Awesome Style Sheets, is the most mature, stable, and powerful professional grade CSS extension language in the world.
2015-10-16 13:10:14
697
原创 coffee、grunt、less协同
实际项目中,单独使用coffee、grunt和less的很少,我们可以把他们整合其他协同使用来提高我们的效率。grunt的定位是构建工具,我们可以利用它来调用coffee和less来实现我们的目的。参考项目https://github.com/mrcoles/static-less-coffeescript-grunt-project。gruntfile可以这样来写:module.exports =
2015-10-14 17:56:56
653
原创 CoffeeScript入门
CoffeeScript 是一门编译到 JavaScript 的小巧语言. 在 Java 般笨拙的外表下, JavaScript 其实有着一颗华丽的心脏. CoffeeScript 尝试用简洁的方式展示 JavaScript 优秀的部分.CoffeeScript 的指导原则是: “她仅仅是 JavaScript”. 代码一一对应地编译到 JS, 不会在编译过
2015-09-15 23:19:10
4058
原创 less入门
less是一种 动态 样式 语言。LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承, 运算, 函数. LESS 既可以在 客户端 上运行 (支持IE 6+, Webkit, Firefox),也可以借助Node.js或者Rhino在服务端运行。
2015-09-14 00:46:42
977
原创 grunt入门
grunt是什么?Grunt 是一个基于任务的JavaScript工程命令行构建工具。为什么要使用grunt?一句话:自动化。对于需要反复重复的任务,例如压缩(minification)、编译、单元测试、linting等,自动化工具可以减轻你的劳动,简化你的工作。
2015-09-10 11:18:09
600
原创 JS特色快排实现
传统的快排都是在数组中,随机选择数组中一个元素(有的会直接选中间),然后从左边寻找第一个比它大的,从右边寻找第一个比它小的,两者互换位置。但是JS的灵活性提供了另一种方法,这种方法更好理解。
2015-09-06 15:05:04
1914
原创 web前端面试题
以下各问题来自于本人在各公司应聘时被提问的问题,特地整理出来,有错误或不同意见的欢迎评论指出。因各大公司面试还未结束,本文不透露题目具体出处,且会打乱顺序。另注:问方和答方均默认所问浏览器为主流浏览器(IE,chrome,firefox,Safari,Opera)技术问答题:HTTP常见的状态码有哪些?分别表示什么意思?200:OK,一切正常302:重定向304:未修改
2015-03-23 12:14:42
15513
2
原创 Node.js学习笔记(二)—— 模块化
我们开始来写Node程序了。一个应用,可以分为很多部分,如何将这些部分有条理的组合在一起,使得代码更健壮,更丰满,耦合度更低呢?本文将抛砖引玉,细细为您道来。
2015-02-28 16:40:02
13873
原创 Node.js学习笔记(一)—— Node基础
Node.js扫盲名字Node.js有多种别称,Node,Nodejs,NodeJS。为了表示方便,文中会更频繁使用Node来表示。为什么命名为Node呢?一开始,创造者Ryan Dahl是称呼为web.js的,目的是构建一个web服务器。但后来项目发展越来越快,超出了单一的web服务器的想法,变成了构建网络应用的基础框架,在框架之上可以构建更多的东西,例如服务器、客户端、命令行工
2015-02-27 16:05:21
12780
1
原创 JavaScript快速入门(六)——DOM
概念扫盲DOMDOM是 Document Object Model(文档对象模型)的缩写,是W3C(万维网联盟)的标准。DOM 定义了访问 HTML 和 XML 文档的标准:“W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。”W3C DOM 标准被分为 3 个不同的部分:核心 DOM - 针对任何结构化
2015-02-12 22:38:15
15713
原创 JavaScript快速入门(五)——表达式运算
JavaScript的表达式运算有哪些?JavaScript的位运算是怎么样的?等值比较是怎么判断的?运算符优先级具体是怎样的?本文将为您一一道来。
2015-02-11 10:00:44
15862
原创 JavaScript快速入门(四)——JavaScript函数
函数声明之前说的三种函数声明中(在JavaScript快速入门(二)有详细阐述)
2015-01-29 11:39:10
14211
原创 JavaScript快速入门(三)——JavaScript语句
变量声明JavaScript的变量声明分为显式声明跟隐式声明。显式声明即带var关键字声明,例如var example = example;要注意JavaScript里面声明的关键字只有function和var两个,不要和C之类的int、float等弄混了。我们也可以暂时不初始化,和下面这句是等价的:var example;example = "e
2015-01-24 14:07:46
14094
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅