8.28做JS的题目

1.下列对于JavaScript说法错误的是?()

A.JavaScript是一种动态类型,弱类型个,基于原型,直译式的脚本语言。

B.JavaScript是一门多线程的语言。

C.浏览器端的JavaScript包含ECMAScript,DOM对象以及BOM对象。

D.JavaScript语言不仅可以在浏览器环境运行,也可以在node提供的服务器端的平台运行。

JavaScript是单线程单线程语言

2下列事件哪个不是由鼠标触发的事件()

click

contextmenu

mouseout

keydown

click是鼠标点击事件
contextmenu 是当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发的事件 [ 试试在页面中的 <body> 中加入 onContentMenu="return false" 就可禁止使用鼠标右键了 ]
mouseout 事件会在鼠标指针移出指定的对象时发生。
keydown 事件会在用户按下一个键盘按键时发生,由键盘触发。

3.下列描述中,错误的是

A.SQL语言又称为结构化查询语言

B.java中”static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问

C.面向对象开发中,引用传递意味着传递的并不是实际的对象,而是对象的引用,因此,外部对引用对象所做的改变不会反映到所引用的对象上

D.java是强类型语言,javascript是弱类型语言

E.面向对象的三大特性包括:封装,继承,多态

这道题选C,传值传参的时候,我们在函数中改变了参数的值,其对应的变量的值并不改变,值类型传参就是将变量保存的内容复制到函数的形参中,他们是两个不同的变量,值不过保存的内容相同不了.
引用传参保存的是一个地址,这个地址里保存的是变量的具体值,而引用类型作为参数的时候,是将变量保存的地址值赋值到参数变量里,这样他们都指向了同一个内容,这样我们改变参数的成员的话,那么相应的变量的成员也会改变。
4.在标准的 JavaScript 中, Ajax 异步执行调用基于下面哪一个机制才能实现?A
A.Event和callback
B.多线程操作
C.多CPU核
D.Deferral和promise
JavaScript是单线程的,浏览器实现了异步的操作,整个js程序是事件驱动的,每个事件都会绑定相应的回调函数,
5.假设 output 是一个函数,输出一行文本。下面的语句输出结果是什么?output(typeof (function() {output(“Hello World!”)})());
E
1.先立即执行匿名函数,输出Hello World!
2.函数执行后无返回值,则输出未定义
Hello World! undefined
6.javascirpt中的数字在计算机内存储为多少Byte?8Byte
关于Javascript中数字的部分知识总结:
1.Javascript中,由于其变量内容不同,变量被分为基本数据类型变量和引用数据类型变量。基本类型变量用八字节内存,存储基本数据类型(数值、布尔值、null和未定义)的值,引用类型变量则只保存对对象、数组和函数等引用类型的值的引用(即内存地址)。
2. JS中的数字是不分类型的,也就是没有byte/int/float/double等的差异。
7.关于angularjs1说法,错误的是
Angular大大减少了对DOM的访问。
jQuery极大的丰富了DOM操作
8.

var str = "stiabsstringapbs";
var obj = {};
for (var i = 0; i < str.length; i++) {
var key = str[i];
if (!obj[key]) {
obj[key] = 1;
} else {
obj[key]++;
}
}
var max = -1;
var max_key = "";
var key;
for (key in obj) {
if (max < obj[key]) {
max = obj[key];
max_key = key;
}
}
alert("max:"+max+" max_key:"+max_key);

关于上述代码说法错误的是(      )。

A.obj是用来统计字符数量的

B.代码所实现的功能是:统计字符串中,所有字符的数量

C.max表示最大字符,key表示字符

D.代码实现功能是:判断一个字符串中出现次数最多的字符,统计这个次数

var str = "stiabsstringapbs"; //定义字符串
var obj = {}; //定义对象
for (var i = 0; i < str.length; i++) { //遍历字符串
var key = str[i]; //存储字符
if (!obj[key]) { //若对象中不存在该key,初始化为1
obj[key] = 1;
} else { //若对象中存在该key,则数值加1
obj[key]++;
}
}
/*第一个for循环结束得到每个字符数量的对象,大概下面这鸟样
obj={
s:4,
t:2,
i:2,
...
}*/
var max = -1; //初始化最大数量,最大数量字符
var max_key = "";
var key;
for (key in obj) { //遍历obj对象,获得字符最大数量及对应字符
if (max < obj[key]) {
max = obj[key];
max_key = key;
}
}
alert("max:"+max+" max_key:"+max_key);

9.触摸事件包括以下哪几种?()

以下是四种touch事件

touchstart:     //手指放到屏幕上时触发

touchmove:      //手指在屏幕上滑动式触发

touchend:    //手指离开屏幕时触发

touchcancel:     //系统取消touch事件的时候触发,这个好像比较少用

每个触摸事件被触发后,会生成一个event对象,event对象里额外包括以下三个触摸列表

touches:     //当前屏幕上所有手指的列表

targetTouches:      //当前dom元素上手指的列表,尽量使用这个代替touches

changedTouches:     //涉及当前事件的手指的列表,尽量使用这个代替touches

原文地址:https://www.cnblogs.com/smhyu/p/13578193.html