大家有没有想过,一段javascript脚本从载入浏览器到显示执行都经过了哪些流程,其执行次序又是如何。本篇博文将引出‘javascript执行模型‘的概念,并带领大家理解javascript在执行时的处理机制。 简单的开始简单的代码:1234567891011<script type="text/javascript" src="xxx.js"></script><script type="text/javascript"> var i = 10; function say(msg){ alert(msg); }</script><script type="text/javascrip...
浅析undefined与null的区别相似处:1、undefined 和 null 都是javascript 的基本数据类型。其实两者没有太大区别。定义:var a=undefined; var a=null; null==undefined;//true2、null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。Number(undefined)//NaN 5 + undefined //NaN而对于nullNumber(null) // 0 5 + null // 5区别1、null表示"没有对象",即该处不应该有值。典型用法是:(...
一、场景及问题背景: 我们平时开发时本质上就是对应用程序的各种状态进行切换并作出相应处理。最直接的解决方案是将这些所有可能发生的情况全都考虑到,然后使用if... ellse语句来做状态判断来进行不同情况的处理。但是对复杂状态的判断就显得代码逻辑特别的乱。随着增加新的状态或者修改一个状态,if else或switch case语句就要相应的的增多或者修改,程序的可读性,扩展性就会变得很弱。维护也会很麻烦。 先来个例子,魂斗...
在脚本语言JavaScript中,函数的定义是由事件驱动或者当它被调用时可重复使用的代码块。在JavaScript的标准ECMAscript中,把函数表述为可以随时随地运行的语句。我个人是不认同ECMA的说法的,因为函数只有在发生调用的时候才会执行,否则就是一段毫无生气的代码。我们来具体认识认识函数。 (一)首先是函数的定义: 在ECMAscript函数的定义是 关键字function 函数名( 参数){主体;return(返回值)};这四部分组成的,但是在脚本语言...
最近终于下定决心学点前端的东西,然而各种框架,让人眼花缭乱。先总结一下js前端的发展史1、刀耕火种,原始时代这个时候用DOM原生API来操html元素,估计getElementBy之类的函数满天飞2、蒸汽机,工业时代jquery等之类的框架出现,DOM操作被框架封装好,可以很方便的更新3、电能,后工业时代react、vue、angular、avalon等mvvm的出现,忘记操作DOM 说起mvvm实际上变量绑定,把DOM和js变量绑定,更新js变量就可以达到更新DOM的目的,...
什么是运算符? 连接两个或多个操作数(某个值,表达式)之间的符号。运算符的分类: 1. 赋值运算符(=) 将右边的值赋给左边。var x = 10; var y = x; console.log(x); //10 console.log(y; //10 2. 算术运算符(+,-,/,*,%) 注意: 2.1 在做除法是,若是有无限循环的小数,就会取小数的近似值var x = 10; console.log(x/3); //3.3333333333333335 2.2 当字符串与数值类型进行算...
前不久在研究jQuery的动画队列的时候,发现jQuery的缓存系统也很强大,尽管以前也稍微接触过,但一直都没有深入研究过。jQuery的缓存系统在外部应用的时候都比较简单,比如要将某个URL数据存到缓存中只要这么写: 代码如下:var val = "stylechen.com";$("div").data( "url" ); // 返回undefined$("div").data( "url", val ); // 返回"stylechen.com"$("div").data( "url" ); // 返回"stylechen.com"不光可以存储字符串,上面的val也...
前不久在研究jQuery的动画队列的时候,发现jQuery的缓存系统也很强大,尽管以前也稍微接触过,但一直都没有深入研究过。jQuery的缓存系统在外部应用的时候都比较简单,比如要将某个URL数据存到缓存中只要这么写: 代码如下:var val = "stylechen.com";$("div").data( "url" ); // 返回undefined$("div").data( "url", val ); // 返回"stylechen.com"$("div").data( "url" ); // 返回"stylechen.com"不光可以存储字符串,上面的val也...
在使用XMLHttpRequest中有没有遇到过,第一次使用是好的,刷新一下就不行了,清空一下缓存再刷新又好了。 这是在使用XMLHttpRequest中常遇到的一个问题,在有的时候XMLHttpRequest请求的结果会缓存在同一个URL中,如果你请求之后的响应不同,就会产生一些莫名其妙的问题,当然也包括文章一开始那个呵呵。 解决方法:知道了原理就简单了,也就是每次请求的URL不同,让它每次都去服务器端请求,而不是使用缓存。下面有两种自己常用的...
如果要显示最新的数据需要在页面中进行设置,取消缓存。 在showModalDialog的页面的Head标签内增加如下代码:<meta http-equiv="pragma" content="no-cache">这样页面就不会被缓存。从而保证了在对数据进行修改后,再次打开页面后显示最新的数据。 HTML方面<meta http-equiv="pragram" content="no-cache"> 禁止浏览器从本地缓存中调阅页面。 网页不保存在缓存中,每次访问都刷新页面。 <meta http-equiv="cache-control" content=...
无意间看到一个文章,是关于nodejs下发送http请求不会缓存dns结果的。这意味着,如果你基于nodejs写了一个http采集程序,不提供dns缓存则会让每次请求都傻傻的重复解析域名为ip地址。听起来会非常影响性能不是么?我的项目中,发送http请求并不是使用的node原生的http库,而是依赖一个常用的Request库。我查阅了一下该库的相关文档和github issue,也发现了一些和dns相关的帖子。不过多数说的是,关于dns问题,本身并不是Request库...
如果要显示最新的数据需要在页面中进行设置,取消缓存。 在showModalDialog的页面的Head标签内增加如下代码:这样页面就不会被缓存。从而保证了在对数据进行修改后,再次打开页面后显示最新的数据。 HTML方面 禁止浏览器从本地缓存中调阅页面。 网页不保存在缓存中,每次访问都刷新页面。 同上面意思差不多,必须重新加载页面 网页在缓存中的过期时间为0,一旦网页过期,必须从服务器上重新订阅。 .NET方面Response.Expires = -1...
高手绕道!这跟闭包本身没什么大的关系,也不知道怎么取标题,随便凑了个数,望见谅!今天一个刚学js的朋友给了我一段代码问为什么方法不执行,代码如下:代码如下:function makefunc(x) { return function (){ return x; }}alert(makefunc(0));其实不是不执行,只是朋友的意思这里alert出来的应该是“0”,而不是function (){return x;}。不是脚本写错了,只是没搞懂return,从当前函数退出,并从那个函数返回一个值。如果返回的...
npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。1、npm install moduleNames:安装Node模块安装完毕后会产生一个node_modules目录,其目录下就是安装的各个node模块。node的安装分为全局模式和本地模式。 一般情况下会以本地模式运行,包会被安装到和你的应用程序代码的本地node_modules目录下。在全局模式下,Nod...
我一直都很不愿意扯 nodejs 的流,因为从第一次看到它我就觉得它的设计实在是太恶心了。但是没办法,Stream 规范尚未普及,而且确实有很多东西都依赖了 nodejs 的流来实现的,所以我也只能捏着鼻子硬着头皮来扯一扯这又臭又硬的 nodejs 流对象了。nodejs 自带了一个叫 stream 的模块,引入它便可以得到一组流对象构造器。现在我只说最简单的 stream.Readable。其实用过 nodejs 的几乎都接触过 Readable 的实例,只是平时没太在意而...