javascript - 如何在没有赋值的情况下声明 const 但在函数中赋值
问题描述
我需要在全局范围内声明 const $element
(指向HTML
元素的变量),以便任何函数都可以访问它。但是$element
是由jQuery
内部分配的所需变量分配的$(function(){})
。如何满足这两个条件?
const $element; // error caused by no assignment but $ is not ready
$(function(){
const $element = $("#SomeDiv"); //cannot assign here
DivResize(100);
});
function DivResize(h){
$element.css("height", h) //need to call $element from global scope
}
解决方案
解决方案1:
使用let
而不是const
.
解决方案 2:稍微重构您的代码
你真的需要这个DivResize()
函数是全局的吗?
是: 使函数接受 $element 作为参数。
$(function(){
const $element = $("#SomeDiv");
DivResize($element, 100);
});
function DivResize($element, h){
$element.css("height", h);
}
否: 在 jQuery 回调中移动函数。
$(function(){
function DivResize(h){
$element.css("height", h);
}
// ...
const $element = $("#SomeDiv");
DivResize(100);
});
推荐阅读
- symfony - Symfony + Vue - 使用 Webpack Encore 在所有 Vue 组件中导入 _variables.scss
- java - 将随机生成的字符串转换为二维码
- snowflake-cloud-data-platform - 雪花如何查询服务器名
- dependency-injection - Autofac 依赖注入 Azure 函数 SingleInstance
- sql - 从表中获取最后一个父名称
- c# - 字符串操作和拆分字符串
- reactjs - 如何在 package.json 中使用环境变量或掩码机密?
- angular - 为 Angular 导入 Mock 数据
- karate - 不支持的字符串匹配类型:EACH_EQUALS
- java - 创建自定义弹簧注释