javascript(或任何编程语言)中的参数到底是什么

时间:2010-12-20 22:27:00

标签: javascript parameters parameter-passing

我已经编写并阅读了这段代码,为了使其正常工作,我必须使用参数,所以我做了并且它工作得很好,但我无法弄清楚我的生活是什么参数和他们如何工作。我在网上阅读了大量的文章,但我无法弄清楚参数是如何工作的。一个参数如何知道从另一个参数获取指令。整个想法真的令人沮丧。这也是一个侧面问题。我可以使用getElementBy而不是Id,还是类似于获取类getElementById()?非常感谢提前。

以下是script.js文件中的代码:

function setValue(field)
{
    if(''!=field.defaultValue)
    {
        if(field.value==field.defaultValue)
        {
            field.value='';
        }
        else if(''==field.value)
        {
            field.value=field.defaultValue;
        }
    }
}

我调用此脚本运行以下代码:

<textarea  id="info" 
           class="textArea" 
           name="comment" 
           cols="40" rows="10" 
           onfocus="setValue(this)" 
           onblur="setValue(this)">
               Whats Your Name
</textarea>

3 个答案:

答案 0 :(得分:1)

参数

如果用“参数”表示“参数”,那么“一个参数如何知道从另一个参数中获取指令就不清楚你的意思了。”参数/参数不抢彼此的“指示”。

由于我一点都不清楚你在这里问的是什么,我不会详细介绍任何细节,但我会警告函数参数实际上在JavaScript中的工作方式与C等许多其他语言不同C#或Java。

传统模型是一个称为“堆栈”的特殊内存区域:调用者将参数压入堆栈,被调用者(被调用的函数)将它们从堆栈中拉出。

但JavaScript不使用堆栈模型。相反,当调用一个函数时,会分配一个名为执行上下文的对象,并且还会分配一个名为变量对象的对象和参数(以及其他一些东西) )最终成为变量对象的属性。 (这在幕后无形地发生,你实际上并没有直接引用任何一个对象,但是从边缘案例行为中可以清楚地看到它们的事实。)

按类名获取元素

除了IE之外,还有getElementsByClassName被广泛支持。但是如果你搜索“getElementsByClassName IE”,你会发现IE的各种实现,你可以放入你的页面。

答案 1 :(得分:0)

当我听到“参数”这个词时,我通常会想到传递给执行方法的引用。你是这个意思吗?无论是函数还是对象方法,通常都是我们赋予传入的对象引用的名称。这是你的想法吗?

是的,可以使用div名称查询DOM元素,只要您已编写页面即可。 jQuery是大多数人用来在HTML页面中操作DOM的库。它有很多方法可以查询不同的DOM元素。也许这就是你想要的。

答案 2 :(得分:0)

好吧,我认为很多人称它们为参数,而其他许多人称它们为参数,但它们都是相同的:它们是你传递给函数的东西。对参数/参数的作用完全取决于函数。你可以传递一个DOM元素,一个字符串,一个对象,你可以命名它......但是函数最终会决定如何处理它。

关于getElementByClass的问题,有getElementsbyClassName,但它不是跨浏览器兼容的,这意味着它只适用于某些浏览器。有些库可以处理所有跨浏览器的疯狂,例如Sizzle