关于this的选择时机,请教下高手,谢谢啦.

diamond_k 2018-06-30 03:25:04
HTML部分:

<!DOCTYPE HTML>
<html>
<head>
<title>购物车计算</title>
<meta charset="utf-8" />
<style>
table{width:600px; text-align:center;
border-collapse:collapse;
}
td,th{border:1px solid black}
td[colspan="3"]{text-align:right;}
</style>
</head>
<body>
<table id="data">
<thead>
<tr>
<th>商品名称</th>
<th>单价</th>
<th>数量</th>
<th>小计</th>
</tr>
</thead>
<tbody>
<tr>
<td>iPhone6</td>
<td>¥4488</td>
<td>
<button>-</button>
<span>1</span>
<button>+</button>
</td>
<td>¥4488</td>
</tr>
<tr>
<td>iPhone6 plus</td>
<td>¥5288</td>
<td>
<button>-</button>
<span>1</span>
<button>+</button>
</td>
<td>¥5288</td>
</tr>
<tr>
<td>iPad Air 2</td>
<td>¥4288</td>
<td>
<button>-</button>
<span>1</span>
<button>+</button>
</td>
<td>¥4288</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="3">Total: </td>
<td>¥14064</td>
</tr>
</tfoot>
</table>
<script src="js/6_2.js"></script>
</body>
</html>


JS部分:
var table=document.getElementById("data");
var btn=table.getElementsByTagName("button");
for(var i=0,len=btn.length;i<len;i++){
btn[i].onclick=calc;
}
function calc(){
var span=this.parentNode.getElementsByTagName("span")[0];
var n=parseInt(span.innerHTML);
n+=this.innerHTML=="+"?1:n>1?-1:0;
span.innerHTML=n;
}


代码均无问题,只是我没有完全弄懂 calc函数里,关于this和span该如何选择?或者说什么情况下才选择.
其中4个地方用到了span和this . 比如this.parentNode span.innerHTML this.innerHTML 和最后一句 span.innerHTML

最不理解的是span.innerHTML这句,到底是取网页中span的内容,还是函数里变量span的内容? 包括后2句也没完全想通.

-- 更新: --
刚我修改了 var span 和2处: span.innerHTML 的span为sp,代码也可以运行. 难不成获取的都是 span变量里的内容? span获取的不是一个下标为0的类数组值么 , 而且.innerHTML不是这么用的吧,我有点乱...

希望有高手抽空讲下原理,谢谢.
...全文
109 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2018-06-30
  • 打赏
  • 举报
回复
这只是把<span>对象赋值给一个名字叫span的变量。变量可以起任何名字,叫span只是方便区分保存的内容
diamond_k 2018-06-30
  • 打赏
  • 举报
回复
已经看懂了,自行了结.哈哈哈
内容概要:本文围绕基于风光储能和需求响应的微电网日前经济调度问题展开研究,提出了一种综合考虑风能与光伏发电不确定性、储能系统充放电特性及需求响应机制的优化调度模型,并提供了完整的Python代码实现。该模型旨在通过优化算法实现微电网系统运行成本最小化与能源利用效率最大化的双重目标,涵盖从数据预处理、约束条件建模到目标函数构建与求解的全过程,体现了电力系统智能管理中对可再生能源高效集成与灵活调控的核心需求。研究属于现代智能电网与综合能源系统优化领域的关键应用之一,强调了数据驱动与优化算法在提升系统经济性与可靠性方面的重要作用。; 适合人群:具备一定Python编程基础和电力系统基础知识,从事新能源、微电网调度、能源优化及相关领域的科研人员、研究生及工程技术人员。; 使用场景及目标:①学习微电网日前经济调度问题的建模方法与关键技术环节;②掌握如何将风光出力预测、储能动态行为与需求侧响应策略有机整合进统一的优化框架中;③通过提供的Python代码进行仿真复现实验,完成调度结果分析与算法性能评估,为进一步开展多目标优化、鲁棒调度或实时调度研究奠定基础。; 阅读建议:此资源以理论建模与代码实现相结合为核心,建议读者在理解调度模型数学原理的基础上,深入阅读并调试配套Python代码,关注变量定义、约束表达与求解器调用等关键实现细节,从而实现从理论认知到实践应用的有效转化。

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧