javascript - IF 语句中的返回值
问题描述
我有一个带有这个简单代码的 AngularJS 指令:
.directive('mdToggle', () => {
return {
link (scope, element) {
element.on('click', () => {
const liElements = 0;
const liElementsHeight = 0;
console.log(element[0].nextElementSibling !== null);
if (element[0].nextElementSibling !== null) {
const liElements = element[0].nextElementSibling.getElementsByTagName('li').length;
const liElementHeight = element[0].nextElementSibling.getElementsByTagName('li')[0].clientHeight;
}
console.log(liElements * liElementsHeight);
});
}
};
});
if 语句返回一个真值,但liElements
andliElementHeight
只存在于 if 范围内。如何在范围之外返回该值以便我可以使用它?
解决方案
不要重新声明,你会没事的:
.directive('mdToggle', () => {
return {
link (scope, element) {
element.on('click', () => {
let liElements = 0;
let liElementsHeight = 0;
console.log(element[0].nextElementSibling !== null);
if (element[0].nextElementSibling !== null) {
liElements = element[0].nextElementSibling.getElementsByTagName('li').length;
liElementHeight = element[0].nextElementSibling.getElementsByTagName('li')[0].clientHeight;
}
console.log(liElements * liElementsHeight);
});
}
};
});
推荐阅读
- regex - Ruby 正则表达式排除多个具有正面前瞻性的项目
- sql - CREATE TABLE 语句中的“pool_name”是什么意思?
- python - 处理包含双引号内的单引号或相反情况的字符串的简单方法是什么?
- string - 以像素为单位的字符串长度颤动
- azure-devops - 如何在电视上显示 DevOps 仪表板?
- apache-kafka - toStream() 不适用于窗口化 KTable
- postgresql - 以 pgAdmin(.sql 格式)导入数据库时出现问题
- .net - 使用 f# 代码将元素添加到 couchbase 数据库
- teamcity - 正在使用哪个 Teamcity 插件?
- java - 我们要不要在另一个类中传递注入的对象