JS-练习题
2024-09-01 09:37:23
1、foo()结果
function foo() {
bar.apply(null, arguments);
}
function bar(){
console.log(arguments);
} foo(1,2,3,4,5);
结果:(1,2,3,4,5)
2、alert的结果
function b(x, y, a){
arguments[2] = 10;
alert(a);
}
b(1, 2, 3);
结果:10
3、typeof f
var f = (
function f(){
return "1";
},
function g(){
return 2;
}
)();
typeof f;
结果;"number"
逗号运算符:(x,y),输入结果是:两个值进行比较,谁大输出谁
4、x
var x = 1;
if (function f(){}) {
x += typeof f;
}
console.log(x);
结果:"1undefined"
5、求100的阶乘
var num = (function(n){
if (n == 1){
return 1;
}
return n * arguments.callee(n-1);
}(100))
6、this
var foo = '123';
function print(){
var foo = '456';
this.foo = '789';
console.log(foo);
}
print();
结果:456
var foo = '123';
function print(){
this.foo = '789';
console.log(foo);
}
print();
结果:789
var foo = '123';
function print(){
this.foo = '789';
console.log(foo);
}
new print();
结果:123
7、print()()
var bar = {a: "002"};
function print(){
bar.a = 'a';
Object.prototype.b = 'b';
return function inner() {
console.log(bar.a);
console.log(bar.b);
}
}
print()();
结果:a
b
8、深拷贝
var bar = {a: "002"};
function print(){
bar.a = 'a';
Object.prototype.b = 'b';
return function inner() {
console.log(bar.a);
console.log(bar.b);
}
}
print()();
9、类数组
var obj = {
"2" : "a",
"3" : "b",
"length" : 2,
"push" : Array.prototype.push
}
obj.push("c");
obj.push("d"); //obj为?
结果:{2: "c", 3: "d", length: 4}
解析:类属性
属性要为索引,必须要有length,最好有push Array.prototype.push = function(target) {
obj[obj.length] = target;
obj.length++;
}
最新文章
- Android SDK 在线更新镜像服务器资源
- js学习笔记---事件代理
- 通过组策略实现Firefox自动以当前域账号登录MOSS站点---(原创)
- Seismic Unix的一些历史
- android开发,关于android app实现静默安装自己(系统签名)
- 数据库链接 mysql,sqlserver
- GDB调试器简介
- VSTO:无法安装此应用程序,因为已安装具有相同标识的应用程序
- phantomjs 渲染
- 自定义的string类
- ASP.NET MVC2.0学习笔记:路由设置
- [NOIP]2016天天爱跑步
- 物理引擎中velocity的单位是个什么鬼?
- IT轮子系列(六)——Excel上传与解析,一套代码解决所有Excel业务上传,你Get到了吗
- jstack Dump
- 101. Symmetric对称 Tree
- vue router返回上一页
- RHEL7.3安装python3.6.1
- OpenGL ES学习资料总结
- 二:Jquery-action