在阅读了第一个类对象之后,我决定将我的新的第一类对象变成一个函数,但是有了另一个名字。我在javascript中搜索并发现了很多关于函数的东西。
1)每个函数都是一个对象,也可以像对象一样对待。
在这里查看代码:
var myfunc3 = new Function(
"a", " return a + 1;");
来自第this
页
据我所知,以前定义的任何函数都可以使用new
构造函数调用:
var person = function(name, age){
this.name=name;
this.age = age;
}
现在我可以使用new
来调用它:
var x = new person("tom", 34);
所以从上面的例子中我可以说先前定义的函数然后再用new
调用!
1)函数如何使用圆括号,
2)无法理解行Function( "a", " return a + 1;");
3)我们如何实现功能?
我知道你肯定会不喜欢这个问题,但我想这样做,因为我想了解JavaScript的每一个细节。
谢谢!
答案 0 :(得分:1)
1)这是调用函数的语法,用语言定义。
f(a); // calls the function "f" with the argument "a"
2)函数是第一类对象,这意味着它们可以像任何其他对象一样传递,并且像其他具有构造函数的对象Function
一样。 Function
构造函数通过评估新隔离范围中的代码来创建新函数,因此您无法访问周围的变量。同样,Function
是eval
的一种形式,避免它,这不是在JavaScript中创建函数的方法。
3)你没有实现一个功能。函数是已经实现的对象。在JavaScript中有两种创建函数的方法。功能声明:
function f(){}
一个函数表达式:
var f = function(){};
区别在于提升。见var functionName = function() {} vs function functionName() {}
答案 1 :(得分:0)
要回答你的问题,
Round Brackets是Syntax,它包含参数。
它可能是一个名为Function
的函数,它接受两个参数。
您可以通过使用参数并在函数内部执行某些逻辑来实现函数,也可以使用return
关键字返回一些内容。
例如:
没有return
的功能:
function Hi(name){
alert("Hi "+name);
} // Calling it like this: Hi("John"); will alert "Hi John"
返回的功能:
function Hi(name){
return "Hi "+name;
}// You can store what's returned in a variable like this: var text=Hi("John");alert(text);