首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >函数中的mopen(m1)和mopen('m1')有什么区别?

函数中的mopen(m1)和mopen('m1')有什么区别?
EN

Stack Overflow用户
提问于 2014-01-21 09:05:34
回答 4查看 275关注 0票数 1

在以下程序中使用的函数..。为什么我们在函数mopen('m1')中使用单引号而不是mopen(m1)

代码语言:javascript
运行
复制
<ul id="sddm">
    <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
        <a href="#">HTML DropDown</a>
        <a href="#">DHTML DropDown menu</a>
        <a href="#">JavaScript DropDown</a>
        <a href="#">DropDown Menu</a>
        <a href="#">CSS DropDown</a>
    </div>
</li>
<li>
    <a href="#" onmouseover="mopen('m1')" onmouseout="mclosetime()">Home</a>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-01-21 09:08:08

  • mopen(m1)为函数mopen提供了m1声明的viarable作为参数。
  • mopen('m1')将字符串文本'm1'作为函数mopen的参数。

更新

相应地,将其更新到@Frogmouth's和@MazeHatter的评论:

在您的示例中,mopen(m1)将触发ReferenceError: m1 is not defined,除非在javascript代码中将变量m1定义为a global

票数 8
EN

Stack Overflow用户

发布于 2014-01-21 09:12:24

当然,这将取决于mopen()做了什么。奇怪的是,对于一个项目,我一定借用了与您相同的代码,mopen()如下所示:

代码语言:javascript
运行
复制
function mopen(id) {

// cancel close timer
mcancelclosetime();

// close old layer
if(ddmenuitem != null) ddmenuitem.style.visibility = 'hidden';

// get new layer and show it
ddmenuitem = document.getElementById(id);
ddmenuitem.style.visibility = 'visible';

} 

您在这里看到,您发送的参数是id,然后该参数被发送到document.getElementById(id);

getElementById()需要一个字符串,即HTML中菜单项的id。

在这种情况下,其

代码语言:javascript
运行
复制
<div id="m1"

所以你传入字符串"m1“。

没有引号,m1是一个变量引用。由于您没有名为m1的变量,因此如果您试图读取它,它将导致错误。

票数 2
EN

Stack Overflow用户

发布于 2014-01-21 09:09:41

代码语言:javascript
运行
复制
mopen('m1'); //you pass m1 as a string

mopen(m1); //mp1 an object or a variable
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21253525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档