javascript自定义函数的问题

<scripttype="text/javascript">functionabc(x,y){z=x+y;}</script><scripttype="text/java... <script type="text/javascript">function abc(x, y)
{
z=x+y;
}</script>
<script type="text/javascript">
var z;
abc(10,10);
document.write(z);
</script>
为什么这能够正常输出,函数都没有返回值啊。而且自定义函数不是在定义后被释放吗,想这种类型的定义方法在c语言中就是不行的
这怎么就能正常输出呢,我觉得应该是输出undefined
展开
 我来答
_御少
2012-11-28 · TA获得超过976个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:82.1万
展开全部
在javascript中式预编译的
首先会创建一个当前执行环境下的活动对象(window)
然后将var声明的全局变量设置为window的属性,此时是undefined
然后将定义的function也设置为window的属性
然后在执行其他
至于函数返回值因为你设置的是全局变量所以无需
所以你写的就相当于
var z;
function abc(x, y)
{
z=x+y;
}
abc(10,10);
document.write(z);
七鑫易维信息技术
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分... 点击进入详情页
本回答由七鑫易维信息技术提供
缓步莫迟疑C
2012-11-28 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6217
采纳率:73%
帮助的人:6510万
展开全部
因为你声明了一个全局变量z,如果你在过程内没有声明变量z而又试图使用它,那么你实际是在使用这个全局变量.由于它不在过程内部声明,在退出过程时它不会被释放,值不会丢失.
这个值是你在过程内部通过赋值语句赋值的,与函数返回值无关.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式