none
javascript的一个语法问题。 RRS feed

  • 问题

  • function User( properties ) 
    { 
    	for ( var i in properties )
    	{
    		(function()
    		{ 
    			this[ "get" + i ] = function() 
    			{ return properties[i]; }; 
    			this[ "set" + i ] = function(val) { properties[i] = val; }; 
    		}
    		)(); 
    	} 
    }
    有几点不明白。 一个是“()()”这种语法。 不明白是什么意思。 举个例子。
    还有 which["set" + p] = function() {...} 这个也不懂。 没见过"[]"可以和一个参数用的。 是一种运算吗? 解释下。
    我在w3school上面的javascript教学感觉不够用。 真的去翻书才发现好多没见过的东西。 有没有javascript语法比较全面的网站 或者 书 推荐下。 谢谢啦。
    2009年7月8日 7:22

答案

  • ()()是定义一个函数,然后立即执行,
    []访问对象的属性,下面的例子可以简单说明此问题

    <script>
    (function(){ alert("x") })()
    
    var a = function(){ alert("x") }
    a()
    
    var b = {"a0":"000","a1":"111","a2":"2222"}
    for(i = 0;i<3;i++)
    {
     alert(b["a"+i])
    }
    </script>

    【孟子E章】
    • 已建议为答案 mldark 2009年7月8日 10:07
    • 已标记为答案 shan423 2009年7月9日 7:09
    2009年7月8日 9:51
    版主

全部回复