1.
1 2 3 4 5 6 7 |
var person={fname: "John" ,lname: "Doe" ,age:25};
var txt= "" ;
for (x in person) {
txt=txt + person[x];
} alert(txt);
|
JohnDoe25
fname:"John",lname:"Doe",age:25
fname:John,lname:Doe,age:25
fnamelnameage
2.获取 input 节点的正确方法是()
-
document.querySelectorAll('file')[0] //undefined
-
document.getElementById('file')[0] // undefined
-
document.getElementByTagName('file')[0] //undefined
-
document.getElementById('file') //ID返回的是一个element而不是一个集合。
文章图片
文章图片
文章图片
3.下面有关JavaScript中系统方法的描述,错误的是?
parseFloat方法:该方法将一个字符串转换成对应的小数
isNaN方法:该方法用于检测参数是否为数值型,如果是,返回true,否则,返回false。
escape方法: 该方法返回对一个字符串编码后的结果字符串
eval方法:该方法将某个参数字符串作为一个JavaScript执行
解析:isNaN,如果是数字,则返回false,不是数字,返回true。
4.在页面加载完成后,如果想动态地改变网页的标题,可以通过(C)
是不可能的
document.write(“新的标题内容”)
document.title = ''
document.changTitle(“新的标题内容”)
5.下列代码
1 2 3 |
var obj={} …….. obj.hasOwnProperty( "val" ) |
判断obj对象是否具有val属性
判断obj对象是否具有val的值
判断obj的原型对象是否具有val的属性
判断obj的原型对象是否具有val的值
6.下面js数组的方法中,哪些方法不能改变自身数组?
pop
splice
sort
concat
解析:
Array对象中的方法:
不改变原数组的有
concat():连接数组
join():数组=>字符串
slice():截取数组的一部分
改变原数组的有:
pop()删除并返回数组最后一个元素,shift()与其相反,删除第一个
push()向数组末添加>=1个元素,返回数组新长度,unshift()与其相反,向开头添加
sort(函数)对数组元素排序
splice()改变(删除、替换)数组内部元素,返回由被删除项目组成的新数组(如果有的话)
7.
执行以下程序,输出结果为()
var arr = [2,1,3,5,9];
var count = 0;
arr.forEach((val1,val2)=>{
count++;
if(count % 3 == 0){
return;
}
console.log(val1);
})
2 1
0 1
0 1 3 4
2 1 5 9
解析:在forEach中使用 return false 或者 break无法跳出整个循环,并且使用break会直接报错
8.以下哪个表达式的值为true?
'1' === 1
isNaN(1/0)0/0才是true
1 in [1] //是找在【1】里是否有index为1的值,显然,这个数组只有index=0的值,所以false
1 && 2 > 1 优先级先2>1所以true,1&&true也是true
9.下列window方法中,可以显示对话框的一项是()
confirm()
alert()
prompt()
open()
解析:confirm是显示对话框,alert是弹窗,prompt是输入,open是打开新的页面。
10.
arr.sort((a,b)=>b-a);
console.log(arr);
//解析:B--A是降序
11.请问以下JS代码的输出是什么?
1 2 3 4 5 6 7 8 9 10 11 12 13 |
let A = function () {}// A={} A.prototype.a = 1;
//A.prototype={a=1} let B = new A();
//B={} A.prototype = { //这里重新定义了A.prototype={b:2,c:3}
b: 2,
c: 3 } let C = new A();
// C={} A.prototype.d = 4;
// A.prototype={b:2,c:3,d:4} console.log(B.a);
console.log(B.b);
//所以它是undefined console.log(C.c);
console.log(C.d) |
1、2、3、4
1、undefined、3、4
1、undefined、undefined、undefined
undefined、2、3、4
12.执行以下程序,输出结果为()
var a = 100;
function a(){
var a = 200;
console.log(a);
}
a();
A.100
B.200
C.抛出异常
D.f a(){var a = 200; console.log(a); }
解析:函数提升在变量提升之前,所以函数声明有效,变成了这样:
function a() {
var a = 200;
console.log(a);
}
var a;
a = 100;
a();
所以可以看出,后来的a是一个变量,并不是一个函数,所以无法调用a(),所以运行不到log输出a。
13.当用户打开一个网页时,想一直停留在当前打开的页面,禁止页面前进和后退,以下正确的是()
window.history.forward(1); //防止后一个页面跳转
window.history.back(1); //以历史页面为基准后退一个页面==后退按钮
window.history.go(-1); //跳转到前一个页面 ,
window.history.forward(-1); //防止前一个页面跳转
如果是window.history.go(0),这样这个网页就会永远停留再这个页面,不能前进后退了。
【javascript|JavaScript理论题(一)】
推荐阅读
- react.js|props基本使用React
- 排序算法|JS优化版(二叉搜索树第k大节点)
- javascript|睡前做几道JavaScript理论练习题吧
- vue.js|Vue练习题--不定时分享
- Linux|Linux Shell脚本实现自动交互
- java|Java并发编程—生产者消费者Java实现
- java|Java并发编程—ThreadLocalRandom类
- Java知识点|Java判定相等---==和equals()和“compareTo()”
- GWAS|颜值即正义 | 只知道qqman而不知道cmplot是不专业的