JavaScript函数未按要求工作
JavaScript function is not working as per requirement
根据学习和尝试,我正在研究非常简单的函数,以了解JavaScript函数的特性。但在创建函数后,我遇到了一些问题,我希望有人能帮助我解决以下问题。
问题是:-
a) 为什么浏览器中的console.log显示ReferenceError:c未定义?
b) 为什么p id="demo"无法显示结果?
c) 为什么提醒(c);一旦浏览器加载/刷新,函数外部是否不显示结果?
d)为什么返回(c);不工作?
function show(a, b){
var c = a+b;
alert(c);
console.log(c);
return(c);
}
alert(c);
document.getElementById("demo").innerHTML = c;
<p onclick="show(10, 20)" >This example calls a function which performs a calculation, and returns the result:</p>
<p id="demo"></p>
因为javascript中的函数大括号定义了scope
,并且在其内部声明的所有变量在其外部都不可见。所以c
在你提醒它的地方是未定义的。
function show(a, b){
var c;
//'c' is visible only in the function
}
正如我在评论中所说:
如果在函数中定义c,则仅在函数中定义
你可以这样做:
HTML
<p onclick="show(10, 20)" >This example calls a function which performs a calculation, and returns the result:</p>
<p id="demo"></p>
JS-
function show(a, b){
var c = a+b;
document.getElementById("demo").innerHTML = c;
}
变量c是函数show的本地变量。所以当你把它称为功能之外的时候,
您会得到错误ReferenceError:c未定义由于c什么都不是,p demo没有显示任何
function show(a, b){
var c = a+b;
return(c);
}
var d = show(10,20);
document.getElementById("demo").innerHTML = d;
<p onclick="show(10, 20)" >This example calls a function which performs a calculation, and returns the result:</p>
<p id="demo"></p>
试试这个:-
var c = "10";
function show(a, b){
c = a+b;
alert(c);
console.log(c);
document.getElementById("demo").innerHTML = c;
}
window.onload = function () {
document.getElementById("demo").innerHTML = c;
};
<p onclick="show(10, 20)">This example calls a function which performs a calculation, and returns the result:</p>
<p id="demo"></p>
相关文章:
- 咖啡的Javascript订单总数无法使函数正常工作.请协助
- removeClass函数没有'工作不正常
- 你能解释一下这个阶乘函数是如何工作的吗?
- JavaScript链接在点击时不起作用;函数在页面加载时工作
- jQuery加载的async和ready函数不工作
- 更改智能表中的页面将停止JQuery函数的工作
- 为什么不是'我的函数在解析云代码中工作吗?当我在Angular和Express中测试时,它是有效的
- jQuery函数不能只在一个页面上工作
- 如何检查这个代码点火器php函数是否工作,该函数是否在ajax url中使用
- 从js引擎的角度来看闭包和构造函数是如何工作的
- appendChild在函数外部工作,但在函数内部不工作
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 由于某种原因,我的JavaScript函数无法工作
- 为什么递归生成器函数没有't在ES2015工作
- 我需要一个jQuery函数来只工作在700px以上的屏幕大小,无法在我的代码中发现错误
- 从控制台中的工作函数转换为工作脚本.(请参阅编辑)
- Angular JS-工作函数中的“错误:[$interpole:interr]Can't interpole:
- 简化工作函数以替换特定单词
- 为什么不在回调中工作函数?
- InnerHTML不工作:函数未定义