摘要: 当函数调用的前一瞬间,分析以下3个方面的东西,1:参数2:局部变量声明3:函数声明在函数运行的前一瞬间,先形成一个激活对象,叫Avtive Object, AO,AO的作用是用来存储一个函数相关的参数,局部变量等.函数内部无论是引用参数,还是引用局部变量,都到AO上找. 阅读全文
posted @ 2014-01-15 13:43 lucky323ping 阅读(104) 评论(0) 推荐(0) 编辑
摘要: js中大括号有四种语义作用语义1,组织复合语句,这是最常见的 Js代码:if( condition ) { //... }else { //... } for() { //... } 语义2,对象直接量声明 var obj = { name : 'jack', age : 23 };整个是个赋值语句,其中的{name:'jack',age:23}是个表达式,单独存在也不会出现语法错误的。语义3,声明函数或函数直接量 Js代码 function f1(){ //... } var f2 = function(){ //... } f1与f2的区别是前者在语法解释期 阅读全文
posted @ 2014-01-02 12:16 lucky323ping 阅读(995) 评论(0) 推荐(0) 编辑
摘要: JavaScript的函数是在局部作用域内运行的,在局部作用域内运行的函数体可以访问其外层的(可能是全局作用域)的变量和函数。JavaScript的作用域为词法作用域,所谓词法作用域是说,其作用域为在定义时(词法分析时)就确定下来的,而并非在执行时确定,如下例:var str = "global"; function scopeTest(){ print(str); var str = "local"; print(str); } scopeTest(); 运行结果是什么呢?初学者很可能得出这样的答案:globallocal而正确的结果应该是:undef 阅读全文
posted @ 2014-01-02 12:15 lucky323ping 阅读(152) 评论(0) 推荐(0) 编辑
摘要: Referrer的重要性HTTP 请求中有一个referer的报文头,用来指明当前流量的来源参考页。例如在www.sina.com.cn/sports/上点击一个链接到达 cctv.com首页,那么就referrer就是www.sina.com.cn/sports/了。在Javascript中,我们可以通过 document.referrer来获取同样的信息。通过这个信息,我们就可以知道访客是从什么渠道来到当前页面的。这对于Web Analytics来说,是非常重要的,这可以告诉我们不同渠道带来的流量的分布情况,还有用户搜索的关键词等,都是通过分析这个referrer信息来 获取的。但是,出于 阅读全文
posted @ 2013-12-27 16:26 lucky323ping 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 1:li边距“无故”增加任何事情都是有原因的,li边距也不例外。先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑,仔细“研究”发现是由于其低级元素ul的padding引 起,padding的上下值对li有影响,左右无影 响。所以只好笨手笨脚地把padding去掉,换成margin。这是能解决问题,但往往不是我们想要的结果,或许 还会引起其他不必要的怪现象。现在终于发现解决这个问题的方法,其实很简单,既然是有ul引 起的,就设置ul的显示形式为*display:inline-block;即可,前面加*是只 针对IE6/IE7有效,其 阅读全文
posted @ 2013-06-05 13:00 lucky323ping 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 这里是javascript中制作滚动代码的常用属性页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offsetWidth (包括边线的宽);网页可见区域高: document.body.offsetHeight (包括边线的宽);网页正文全文宽: document.body.scrollWidth;网页正文全文高: document.body.scrollHeight;网页被卷去的高: document.body.scrollTop;网页被卷去的左: doc 阅读全文
posted @ 2013-05-23 10:12 lucky323ping 阅读(93) 评论(0) 推荐(0) 编辑
摘要: <html> <script>varinsObj=newArray();vartimer=null;function$(id){returndocument.getElementById(id)};functionchangeInspector(id){insObj[id]=""+$(id).value;timer=setInterval("inspector('"+id+"')",100);}functioninspector(sid){if($(sid).value!=insObj[sid] 阅读全文
posted @ 2013-04-02 16:42 lucky323ping 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Douglas Crockford大师把this古怪的行为解释为和函数的调用模式有关。js中有四种调用模式---方法、函数、构造器以及apply调用模式,它们在初始化this时候是不一样的。1)方法模式:简单的说就是使用点表达式或是... Douglas Crockford大师把this古怪的行为解释为和函数的调用模式有关。 js中有四种调用模式---方法、函数、构造器以及apply调用模式,它们在初始化this时候是不一样的。 1)方法模式:简单的说就是使用点表达式或是下标表达式来调用 这里定然是有对象的 这种情况下 this的绑定发生在调用的时候 绑的自然是调它的那个对象了。 作为方法调. 阅读全文
posted @ 2013-04-01 18:10 lucky323ping 阅读(109) 评论(0) 推荐(0) 编辑
摘要: cookie概述在上一节,曾经利用一个不变的框架来存储购物栏数据,而商品显示页面是不断变化的,尽管这样能达到一个模拟全局变量的功能,但并不严谨。例如在导航框架页面内右击,单击快捷菜单中的【刷新】命令,则所有的JavaScript变量都会丢失。因此,要实现严格的跨页面全局变量,这种方式是不行的,JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求。cookie是浏览器提供的一种机制,它将document对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制,而并不是JavaScript本身的性质。cookie是存于用户硬盘的一个文件,这 阅读全文
posted @ 2013-03-27 13:48 lucky323ping 阅读(260) 评论(0) 推荐(0) 编辑
摘要: JQuery的extend扩展方法: Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解。 一、Jquery的扩展方法原型是: extend(dest,src1,src2,src3...); 它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出该方法合并后,是修改了dest的结构的。如果想要得到合并的结果却又不想修改dest的结构,可以如下使用: var newSrc=$.extend({},src1,src2,src3...)//也就是将"{}"作为dest参 阅读全文
posted @ 2013-03-14 16:15 lucky323ping 阅读(101) 评论(0) 推荐(0) 编辑