A. javascript构造函数时function中可以再套function吗
可以的,javascript中的function可以当成类来用。
在function内部,用var来定义私有变量,这种变量只能在function内部使用。function内部按通常的方法定义的function,也是私有的,只能在内部使用。
而用this.varname来定义的变量,时公有的。
写了个简单的例子灶凳,你看看应该就明白了。
--------------------------------------
<蚂山script type="text/javascript">
function testFunction() {
var var1; //定义private变量
this.var2 = 'haha'; //这样定义的是public变量
//下面的是private函闷辩中数
function func1(text) {
alert(text);
}
//下面这样就成了public函数
this.func2 = function(text) {
func1(text);
}
}
var test = new testFunction();
var msg = 'typeof(testFunction) = ' + typeof(testFunction);
msg += '\r\n' + 'typeof(test) = ' + typeof(test);
msg += '\r\n' + 'typeof(test.var1) = ' + typeof(test.var1);
msg += '\r\n' + 'typeof(test.var2) = ' + typeof(test.var2);
msg += '\r\n' + 'typeof(test.func1) = ' + typeof(test.func1);
msg += '\r\n' + 'typeof(test.func2) = ' + typeof(test.func2);
alert(msg);
test.func2(test.var2);
</script>
----------------------------------------------------------------------
B. 在javascript中Function和function有什么区别
Function是一个构造函数,用于动态构建一个函数。
function是关键字,通过function生成的函数实际上是一个Function对象实例
C. javascript 的 "!function" 是什么意思
!function跟(function(){... })();函数意义相同,叫做立即运行的匿名函数(也叫立即调用函数)。
js中可以这样创建一个匿名函数:
(function(){dosomething...})()
//或
(function(){dosomething...}())
而匿名函数后面的小括号()是为了让匿名函数立即执行,其实就是一个函数调用。
这样写会报错:
function(){alert(1)}()
因为function前面没有(或者! ~之类的运算符,js解析器会试图将关键字function解析成函数声明语句,而不是函数定义表达式。
作为组运算符,小括号()会将其内部的表达式当成一个整体,然后返回结果,所以定义一个匿名函数正确的格式就是用小括号将函数体括起来。
同样的! ~ + -等运算符也有同样的效果,这是因为匿名函数也是一种值,这些运算符会将后面的函数体当成一个整体,先对匿名函数进行求值,然后在对结果进行运算。
不过这些运算符虽然能够达到让匿名函数立即执行的目的,但是要小心他们是有副作用的,比如:
!function() {return1}()//false
~function() {return1}()//-2
-function() {returnfalse}()//0
-function() {returnfalse}()//0
没错,他们会对函数的返回值进行运算,这样可能会导致最终的结果和你想要的结果不一样。当然,对于那些没有返回值的函数来说,当然是没有什么影响了。
(3)javascriptfunction扩展阅读:
匿名函数的调用:
var abc=function(x,y){
return x+y;
}
alert(abc(2,3)); // "5"
上面的操作其实就等于换个方式去定义函数,这种用法是我们比较频繁遇到的。
例如我们在设定一个DOM元素事件处理函数的时候,我们通常都不会为他们定名字,而是赋予它的对应事件引用一个匿名函数。
使用()将匿名函数括起来,然后后面再加一对小括号(包含参数列表)。
alert((new Function("x","y","return x*y;"))(2,3));// "6"
参考资料来源:网络-JavaScript
D. JavaScript中function定义函数的几种方法
/*第一种方法,使用function语句,格式如下*/<br>function fn(){<br>alert("这是使用function语句进行函数定义");<br> }<br>fn();<br><br>/*第二种方法,使用function()构造函数克隆函数*/<br>var f = new function("a","b","alert(a+b)");<br> f(a,b);<br>其实相当于如下代码:<br>function f(a,b){<br>alert(a+b);<br> }<br>/*第三种方法,使用函数直接量*/<br>var zhenn = function(){<br>alert("zhenn");<br> }<br> zhenn();
E. javascript 中函数 function什么作用
js中用function来定义函数,起作用和Java中的方法类似。
function functionname()
{
这里是要执行的代码
}
当调用该函数时,会执行函数内的代码。
可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。
F. javascript中: (function(){})();如何理解
javascript中: (function(){})()是匿名函数,主要利用函数内的变量作用域,避免产生全局变量,影响回整体页面环境,增加代答码的兼容性。
(function(){})是一个标准的函数定义,但是没有复制给任何变量。所以是没有名字的函数,叫匿名函数。没有名字就无法像普通函数那样随时随地调用了,所以在他定义完成后就马上调用他,后面的括号()是运行这个函数的意思
(6)javascriptfunction扩展阅读
函数声明:使用function声明函数,并指定函数名。
function setFn() { // coding }
函数表达式:使用function声明函数,但未指定函数名,将匿名函数赋予一个变量。
var setFn = function() { // coding}
匿名函数:使用function关键字声明函数,但未指定函数名。匿名函数属于函数表达式,匿名函数有很多作用,赋予一个变量则创建函数,赋予一个事件则成为事件处理程序或创建闭包等等。
function() { // coding}
G. javascript中的function用法
var asd=new Class("a");//你能new得出来?你new的对象就不是一个类你怎么去new?
继承的话专
给你个例子属
var Class = function (cfg) {
this.side = function () {
alert(this.name || "");
};
}
var p = function(){
this.name = "p";
}
p.prototype = new Class();
new p().side();