html怎么修改全局变量,关于html:是否可以在JAVASCRIPT中创建全局变量?

本问题已经有最佳答案,请猛点这里访问。

我有以下HTML代码。我创建了一个客户对象。(custforatm.js中的constractor):

var customer = new CustomersATM("300321758","1234","Eric");

Add One to Customer ID

函数changeid()位于diffrent js文件(atm.js)中。我想点击这个按钮将添加发送变量"customer"到changeid功能。有可能吗?(我知道我可以将此方法移动到HTML文件中。但我不想。

谢谢!!

atm.js是什么样子的?

你的意思是把放在标签上吗?

在JS中,每个变量都是全局的,除非它在函数范围内。

在您的示例中,客户是一个全局变量。您应该能够执行以下操作:

Add One to Customer ID

谢谢!如果我改变了功能中的"客户"。(将1添加到ID)它也将在此处更改?或者只在函数changeid范围内。谢谢!!

在每个JS文件中,customer变量在任何地方都是全局变量。

客户是一个对象,因此它通过引用传递给changeid函数。这意味着您在客户身上更改的任何属性都将在您使用该变量的任何地方更改。

好的,太好了!谢谢大家!!

@用户2970484我不推荐这个答案。请阅读这些结果中的一些google.com/search?Q=why+is+inline+js+bad%3f并查看我的答案以遵循最佳实践。

在全局范围(又称"窗口")内,变量是全局的。

看看这个:

//this is global because it is in the global scope (the window)

var foo = 'stuff';

//because it is global (window) you can also access it like this:

console.log(window.foo); //'stuff'

现在您可以在任何地方访问foo。值得注意的是,globals并不是最佳实践——所以请查看面向对象编程(坚实的原则)。

如果您在另一个范围内(如函数),并且不使用var关键字创建变量,那么该变量将是全局的:

function someFunction() {

someVariable = 'stuff'; //this created a global variable! (or references an existing one)

//you could also assign it to window:

window.someVariable = 'stuff';

//both are the same thing!

}

内联JS(HTML中的onclick)不是一个好的实践。相反,您可以遵循良好的实践并使用javascript注册Click事件:

//get reference to button

var myBtn = document.getElementById('myBtn');

//add click function

myBtn.addEventListener('click', function(event) {

myFunction();

});

function myFunction() {

console.log(foo); //'stuff'

}

以下是所有这些的演示:http://jsbin.com/omubecaw/1/edit

请注意,在将元素引用加载到DOM之后,需要获取它们。最好的做法是将脚本放在身体的末尾,而不是头部,如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值