易截截图软件、单文件、免安装、纯绿色、仅160KB

kangax 的javascript谜题

第一题
(function(){
return typeof arguments;
})();
//问自动执行函数会返回什么值

// 就是考Arguments对象的typeof
// 看平时用firebug多不多了……
第二题
var f = function g(){ return 23; };
typeof g();
//问最后一行的执行结果

//根据标准,命名函数表达式的函数名只对函数体内可见
//因此报错
第三题
(function(x){
delete x;
return x;
})(1);
//问自动执行函数会返回什么值

// 参数不可删除
//1
第四题
var y = 1, x = y = typeof x;
x;
//问最后一行的执行结果

//声明两个变量x与y,y最初赋为1,x没有赋值,默认赋给window的一个属性undefined,
//因此typeof undefined为"undefined",最后x= y= "undefined"
第五题
(function f(f){
return typeof f();
})(function(){ return 1; });
//问自动执行函数会返回什么值

//函数名被优先级更高的参数名覆盖了 --->
// (function (f){
// return typeof f();
// })(function(){ return 1; });
//typeof 1 ---> "number"
第六题
var foo = {
bar: function() { return this.baz; },
baz: 1
};
(function(){
return typeof arguments[0]();
})(foo.bar);
//问自动执行函数会返回什么值

//我们把下面那个自动执行函数分解一下
//var a = function(){
// return typeof arguments[0]();
//};
//a(foo.bar)
//执行完arguments[0](),即得到this.baz
//由于this变量在此绑定失效,它指向window,window有bax变量吗?
//没有,返回"undefined"
第七题
var foo = {
bar: function(){ return this.baz; },
baz: 1
}
typeof (f = foo.bar)();
//问最后一行的执行结果

//我们把最后一行分解一下
//window.f
//f= foo.bar
// f()
// typeof f()
//返回"undefined"
第八题
var f = (function f(){ return "1"; }, function g(){ return 2; })();
typeof f;
//问最后一行的执行结果

//首先要理解分组选择符,最后a会赋给什么呢?
// var a = (1,2,3);
// alert(a) ---> 3
//那么这就简单了,f = function(){return 2};
//typeof f() ---> number
第九题


相关文档:

javascript如何判断字符串为正小数?

/// <summary>
/// 判断是否为正小数
/// </summary>
/// <param name="str"></param>
/// <returns>为正小数时返回true,其他返回false</returns>
public static bool IsDecimal(string str)
{
//声明Regex对象变量
Regex objAlp ......

基于对象的JavaScript语言 [4]

JavaScript语言是基于对象的(Object-Based),而不是面向对象的(object-
oriented)。之所以说它是一门基于对象的语言,主要是因为它没有提供象抽象、继承、重载等有关面向对象语言的许多功能。而是把其它语言所创建的复
杂对象统一起来,从而形成一个非常强大的对象系统。
    虽然JavaScript语言是一门基于对象 ......

在JavaScript中创建新对象 [5]

使用JavaScript可以创建自己的对象。虽然JavaScript内部和浏览器本身的功能已十分强
大,但JavaScript还是提供了创建一个新对象的方法。使其不必像超文本标识语言那样,求于或其它多媒体工具,就能完成许多复杂的工作。
 
 在JavaScript中创建一个新的对象是十分简单的。首先它必须定义一个对象,而后再为该对象创建一 ......

javascript笔记

定义变量
var test=10;
使用对象属性
可以使用 . 操作符获得属性,也可以使用数组下标获得,比如
for(var prop in document)
document.write(document[prop]+"<br>");
With 声明对象,之后再用到对象就不必声明了
with(document){
write("Hello World<br>标题: ");
write(title);
}
常用对象 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号