分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

js练习题

发布时间:2023-09-06 02:29责任编辑:胡小海关键词:js

1.

var i = 0,j = 0;for(;i<6,j<10;i++,j++){ ?????k = i + j;};console.log(k); ?//18,逗号运算符只看最后一个运算

2.

fn1();var fn1 = function(a){ alert(a); } ?//fn1 is not a function//变量域解析,fn1域解析一开始是为var fn1;但是并不知道他是什么类型,//所以fn1()是不符合的

3.

var x = 1;function fn(n){n = n+1};y = fn(x);console.log(y); //undefined ,函数没有返回值

4.

function fn1() { ?????var a = 0; ?????function fn2() { ?????????++a; ?????????alert(a); ????} ????return fn2;} ???fn1()(); //1 ???var newFn = fn1(); ???newFn();//1 ???newFn();//2 ?//每次运行newFn,虽然fn2函数被垃圾回收了,但是他的父元素fn1并没有垃圾回收,所以a会加1变成2

5.

for(var i = 0; i < 5; i++) { ????setTimeout(function(i) { ????????return function() { ????????????console.log(i); ????};}(i), i * 1000); ?//0,1,2,3,4//运用了函数立即执行,所以并不会像定时器那有延迟执行

6.

console.log( (!+[]+[]+!+[]).length ); ?//‘truetrue‘.length; 8;//这里的+是正运算符// [] => ‘‘ => 0 先调用toString然后再调用toNumber//就会变成 true + [] + true; => true + ‘‘ + true

7.

100[‘toString‘][‘length‘] 的结果是(1);//‘100‘.toString(); ??toString默认会有一个10参数,10进制//这里length方法是算的函数参数长度

8.

var arr = [1,2];var arr2 = arr.concat(); //arr2 => [1,2]; 并不影响arrarr2.push( arr.splice(1,0) ); ??//[1,2,[]];//splice返回 ?包含被删除项目的新数组 这里没有删除一个,所以为[]

js练习题

原文地址:https://www.cnblogs.com/ninefrom/p/10263061.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved