IF语句中的返回值

时间:2018-07-12 10:43:48

标签: javascript angularjs

我有一个使用以下简单代码的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语句返回一个真值,但是liElementsliElementHeight仅存在于if范围内。如何返回超出范围的值,以便可以使用它?

1 个答案:

答案 0 :(得分:2)

请勿重新声明,您会没事的:

.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);
            });
        }
    };
});