变量在jq隐式迭代中的特性
来源:互联网 发布:淘宝钱盾怎么验证 编辑:程序博客网 时间:2024/05/23 00:11
Jquery的隐式迭代是非常便利的特性,循环体可以压缩到一句话。
但在练习的时候遇到一个坑,引用类型对象按常识来说都是引用传递的,但是从测试2可以看出,此时按照值类型进行复制传递了,而且可以猜想,隐式迭代除了在内部帮我们进行了参数的复制,还有个初始化的过程,每次都会对传入的变量p先做一次remove操作,导致第三个div里永远只有一个p节点。
测试1是显示迭代,测试3没有使用变量。
这样就可以更好地理解Jquery参考手册对于append()的描述:“向匹配元素集合中的每个元素结尾插入由参数指定的内容。”。
<div id="div3"> <div>1</div><div>2</div><div>3</div> </div> <script type="text/javascript" src="jquery-1.8.3.js"></script> <script type="text/javascript"> $(document).ready(function () { $p = $("<p>ppp</p>"); //测试1:显式迭代:只有最后一个div得到$p,符合预期。连续运行多次也正常。 $("#div3 div").each(function (index, e) { $(e).append($p); }); //测试2:隐式迭代:给每个div都添加了p标签?连续用两次后? $("#div3 div").append($p); $("#div3 div").append($p); //测试3:不使用变量的隐式迭代。 $("#div3 div").append($("<p>ppp</p>")); $("#div3 div").append($("<p>ppp</p>")); //测试1得到结果"123ppp" //测试2得到结果"1pppppp2pppppp3ppp" //测试3得到结果"1pppppp2pppppp3pppppp" }); </script>
阅读全文
0 0
- 变量在jq隐式迭代中的特性
- Javascript中的变量的特性
- jq get 中有中文在不同浏览器中的问题解决
- JSONP请求在JS与JQ中的使用
- JSONP请求在JS和JQ中的应用
- 变量在Linux中的应用
- 变量在方法中的传递
- 在jq中怎么样将一个变量字符穿转换成
- JQ中的动画
- JQ中的选择器使用
- jq中的prveObjec对象
- jq中的return false
- jq中的map函数
- jQ中的each方式
- jq中的克隆用法
- jq中的常用功能
- Jq中的遍历
- JQ中的动画
- 我回来啦
- 容斥原理
- 文件获取
- 码云的使用方法
- python爬取txt电子书
- 变量在jq隐式迭代中的特性
- bootstrap随笔
- vue.js安装小记
- YOLOv2训练自己的数据来实现人脸检测详细步骤
- 网络流最大流之Ford-Fulkerson算法
- js 保留两位小数
- Protostar Format Write Up
- 《锋利的jQuery》读书笔记 -- 编写jQuery插件
- tomcat版本低导致启动报"Unable to process Jar entry" Unable to process Jar entry [javassist/bytecode/Opcode