做题遇到的问题2

1.哪一个是javascript中array的正确写法?

A var txt = new Array("tim","kim","jim")
B var txt = new Array="tim","kim","jim"
C var txt = new Array:1=("tim")2=("kim")3=("jim")
D var txt = new Array(1:"tim",2:"kim",3:"jim")

正确答案: A
[D选项是创建对象的语法,而不是数组]

创建 Array 对象的语法
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
----------------------
var arr=[1,2,3];     
var arr=new Array(1,2,3);     
var arr=new Array(12);如果只有一个数,代表数组的length是12个
var arr=new Array(0);     清空数组

2.如果不给cookie设置过期时间会怎么样?
在浏览器会话结束时过期
3.当点击id为b的div时,控制台输出的内容是:

假设DOM结构为:
<div id="a">
	<div id="b"></div>
</div>
JS代码为:
document.getElementById('a')
	.addEventListener('click', e => {console.log(1)});
document.getElementById('b')
	.addEventListener('click', e => {e.preventDefault();console.log(2)});
当点击id为b的div时,控制台输出的内容是:
2
1
e.preventDefault() 是用来阻止默认事件的,不是阻止事件冒泡. 事件冒泡应该是 **e.stopPropagation()**

4.以下js表达式返回值

	console.log(1==true);//true
    console.log(""==false);//true
    console.log(false==null);//false
    console.log(null==undefined);//true
    
    console.log(![]);//false
    console.log(1/0);//Infinity
    console.log(isNaN(1/0));//false
    

undefined和null与任何有意义的值比较返回的都是false,但是null与undefined之间互相比较"=="是true, "==="是false

	console.log(null == false);//false
    console.log(null == true);//false
    console.log(undefined == false);//false
    console.log(undefined == true);//false
    console.log(undefined == null);//true
    console.log(undefined == undefined);//true
    console.log(null == null);//true
    console.log(undefined === null);//false

5.angularjs1中指令中的compile参数是在什么时候运行的?
答案:在生成DOM后扫描并生成
解析:
C. angularJS肯定是在DOM节点树生成后开始管理节点的,生成后寻找ng-app标记,然后其下属所有节点均由ng来管理。
使用compile可以改变原始的dom,在ng创建原始dom实例以及创建scope实例之前. ng-repeat就是一个最好的例子,它就在是compile函数阶段改变原始的dom生成多个原始dom节点,然后每个又生成element实例.

为了解决AngularJS性能问题,编译阶段应分为两个阶段
1,compile (绑定DOM)   
2,link(数据绑定)。

所以绑定dom应该在dom生成以后绑定的。
不过也可能是动态生成的

原生 js 操作数组的方法:A B D E F G
A splice
B shift
C resort
D sort
E pop
F push
G unshift

解析:
Array 对象方法
方法 concat() 连接两个或更多的数组,并返回结果。
join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop() 删除并返回数组的最后一个元素
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
reverse() 颠倒数组中元素的顺序。
shift() 删除并返回数组的第一个元素 slice() 从某个已有的数组返回选定的元素
sort() 对数组的元素进行排序
splice() 删除元素,并向数组添加新元素。
toSource() 返回该对象的源代码。
toString() 把数组转换为字符串,并返回结果。 toLocaleString() 把数组转换为本地数组,并返回结果。 unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
valueOf() 返回数组对象的原始值

6.页面有一个按钮button id为 button1,通过原生的js如何禁用?(IE 考虑IE 8.0以上版本)

1.document.getElementById("button1").disabled = true;

2.document.getElementById("button1")
.setAttribute(“disabled”,”true”);

①disabled和readOnly都是表单的公有属性, readOnly是只读, disabled是禁用。这里问的是禁用,所以是disabled。
②还有就是题目中的 readOnly写成了 readolny
③小知识点:setArrtibute在ie7以前是不能通过style和class设置属性的

7.以下哪些HTML元素可以获得焦点?
在这里插入图片描述

扫描二维码关注公众号,回复: 11959855 查看本文章

“rsgesg”

猜你喜欢

转载自blog.csdn.net/weixin_41056807/article/details/99672007