请问老师动态性

请问老师动态性

老师类数组对象不是动态性的吗,为什么添加了不变?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕星星 2018-10-12 10:18:10

1、你这个代码:

http://img1.sycdn.imooc.com//climg/5bbffff500012e2804620125.jpg

while循环,每循环一次,就会判断一次条件,但是one.length是每次都重新获取,也就是每插入一条div,one.length就会改变。所以这个条件会一直满足,那么程序就会陷入死循环的状态,没有结果。

你这段代码这样修改:

http://img1.sycdn.imooc.com//climg/5bc00381000156b607580214.jpg

你这个添加内容本身就是动态的添加,会改变length的长度,与老师视频中的举例是一样的。

2、老师视频中的例子:

http://img1.sycdn.imooc.com//climg/5bc003dc00012c0902820150.jpg

length只是自己设置的一个属性,并不能代码是前面三个的长度(可以修改成其他值),是一个固定的值,所以当添加其他属性的时候,length的长度不会变。(与你自己的例子是不同的)。

所以需要使用

http://img1.sycdn.imooc.com//climg/5bc0043d0001f65e04620063.jpg

方法将一个不是动态的类数组对象,转化成数组对象。

自己可以再理解下,祝学习愉快~~


提问者 hy_wang 2018-10-11 19:56:36
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
div{
background-color: red;
width: 50px;
height: 50px;
}
</style>
</head>
<body>
<div></div>
<div></div>
<script type="text/javascript">
var one=document.getElementsByTagName('div');
console.log(one.length);
    var i=0;
    while(i<one.length){
     document.body.appendChild(document.createElement('div'));
     i++
    }
</script>
</body>
</html>


好帮手慕星星 2018-10-11 16:27:26

你的意思是在$.map方法的例子中应该改变原数组中的值吗?不太理解你的意思,可以描述清楚一些哦,方便为你解决问题。祝学习愉快~~

  • 提问者 hy_wang #1
    请问老师我列举的代码,这个为什么类数组对象的length是动态性的,而视频中老师手动添加的,length却不变
    2018-10-11 19:57:17
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师