资讯专栏INFORMATION COLUMN

javascript常见问题小结

BothEyes1993 / 1417人阅读

摘要:执行操作文档对象的时候,要放在的下方。由于再次执行的时候,再次引用了第一次产生的变量,所以没有被释放,第一次的值为第二次执行,的值再加,自然就是了。第二种,是执行了两次,第二次没被引用,执行一次就直接释放掉。

1.执行javascript 操作dom 文档对象的时候,js 要放在body的下方。
否则会找不到对象!!!!即要先加载dom才能操作dom!
2.操作dom 之后你的dom树的结构有可能会发生变化,继续按照原来的操作会报错!
确认dom 的结构,不要犯错特别是使用jquery的时候$(this)  $(this).sblings()继续点下去,要知道自己操作的到底是哪个dom 节点。
3.函数加()和不加() 的区别,加()是直接调用这个函数,不加是函数本身,下面看例子。

function func(){

return 1;

}

alert(func);

alert(func());

4.遍历集合绑定函数

var list=document.getElemntsByTagName("a");

for(var i=0;i

5.一个html 的问题

区别

html 的角度说不清楚

在js 中,第一个相当于 setAttribute("width",100);

第二个 相当于 style.width=100;

6.i++的问题

var i=1;
var b=i++ + ++i;//4
 i=1;
b=(i+1) +  i++;//3       ++i==(i+1),是成立的
重点不是玩什么i++ ,而是一个i++不是一个运算完成才+1 ,
而是碰到第一个运算符的时候就+ 了1 ,
i++ + 这时候i的值就是2了 ,!!

7.闭包
闭包原理是作用域的规则(下层级可以访问上一层级的作用域),再加上一个引用计数(如果被引用就不会被gc回收),使闭包里面的内容不被回收,达到了保存变量的作用。

function func(){

var count=1;

return function(){

count+=1;

alert(count);

}

}

//1

var add=func()

add();//2

add();//3

//2

func()();//2

func()();//2

为什么这两个不同?
func(),只被执行了一次。然后执行两次add(),那count的值就是只声明了一次。
var add=func(),函数func 只在这里执行了一次。
下面执行的都是add(),那第二次的count的值是从哪儿来的,没错它还是第一次执行add时,留下来的那个变量。
由于再次执行add()的时候,再次引用了第一次func()产生的变量count ,所以count没有被释放,第一次s(),count 的值为2,第二次执行add(),count的值再加1,自然就是3了。
第二种,是执行了两次func(),第二次没被引用,执行一次就直接释放掉。所以都是2

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/90593.html

相关文章

  • 高性能JavaScript(文档)

    摘要:最近在全力整理高性能的文档,并重新学习一遍,放在这里方便大家查看并找到自己需要的知识点。 最近在全力整理《高性能JavaScript》的文档,并重新学习一遍,放在这里方便大家查看并找到自己需要的知识点。 前端开发文档 高性能JavaScript 第1章:加载和执行 脚本位置 阻止脚本 无阻塞的脚本 延迟的脚本 动态脚本元素 XMLHTTPRequest脚本注入 推荐的无阻塞模式...

    RayKr 评论0 收藏0
  • javascript小结

    摘要:一简介是一种解释性的脚本语言代码不进行编译,主要用来向页面添加交互行为,主要由三部分组成核心,包含基本语法文档对象模型浏览器对象模型是一种弱类型语言,可用修饰所有的变量不加时是全局变量二常见事件页面或图片加载完成时点击提交按钮时注意是在添加 一.简介 javascript是一种解释性的脚本语言(代码不进行编译),主要用来向HTML页面添加交互行为,主要由三 部分组成:ECMAScrip...

    linkin 评论0 收藏0
  • 高性能javascript小结

    摘要:高性能小结文章转载于我的博客最近看完了动物丛书的高性能,觉得那本书的小结部分写得非常不错,简洁轻快易懂概括性很强。由于局部变量存在于作用域链的起始位置,因此访问局部变量比访问跨作用域变量更快。 高性能javascript小结 文章转载于我的CSDN博客:http://blog.csdn.net/hello_world_20/article/details/46793317 最近看完了动...

    wujl596 评论0 收藏0
  • 工作中使用javascript的一些小结

    摘要:而用来声明一些根据判断条件会发生变化的变量。函数中尽量避免的嵌套是十分常见的一种逻辑。仅对原数组进行一次遍历。当然,使用专门的请求库也是很好的选择。以上总结仅仅是个人对于工作中的一些细节上的经验之谈。 不知不觉,正式工作马上两年了,待了两家公司,做过的项目也不少了,总结一下自己在写代码上的经验累积。 1. 确定变量的类型 不要使用==,使用=== JS是弱类型语言,类型检查不严格。...

    lykops 评论0 收藏0
  • JavaScript面向对象知识点小结

    摘要:面向对象主要知识点小结,基于构造函数可以理解为通过即将创建的对象将类实例化给一个对象赋予属性或者方法原型便于方法的重用与构造函数模式相比,使用原型对象的好处是可以让所有对象实例共享它所包含的属性和方法。 JavaScript面向对象主要知识点小结,基于ECMAScript 5. 构造函数 function People(name){ //this可以理解为通过new即将创建...

    rubyshen 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<