一、基础知识:

  • JS中表示浏览器的对象是 :window
  • JS中表示文档的对象是:document

  • JS中表示文档的对象模型是:DOM:document object model
  • JS中表示浏览器的对象模型是:BOM:browser objecr model
  • JS中的数据类型包含哪些:基本数据类型和引用数据类型:(boolean、null、undefined、string、number)、(object、function)
  • JS中如何的检测数据类型:typeof、instanceof、toString、constructor;
  • JS中判断某个值是否是一个有效数字的方法是:isNaN;
  • 函数中内置的接收参数的集合是:arguments
  • 将函数中的值返回到函数的外面用:return
  • 将其他的数据类型转化为number类型的方式有那些:(强制转化:Number、非强制转化:parseInt、parseFloat;)

二、写出DOM中常用的方法和属性

  1. 通过ID获取一个元素:getElementById
  2. 通过标签名获取一组元素:getElementsByTagName
  3. 获取整个html:document.documentElement
  4. 获取整个body:document.body
  5. 获取所有的子节点:childNodes
  6. 获取哥哥节点:previousSibling
  7. 获取最后一个字节点:laseChild
  8. 获取父亲节点:parentNode
  9. 动态创建元素节点:document.createElement
  10. 把节点添加到指定的容器中由几种办法:appendChild添加到指定容器末尾、insertBefore添加到指定容器中某一个元素之前;

三、数组的基础知识和要应用

  1. 在数组的前面追加新项:unshift
  2. 删除数组的最后一项:pop
  3. 在数组的后面追加一项:push
  4. 删除数组的第一项:shift
  5. 将数组转化为字符串的方法都有那些:toString/join
  6. 基于原来的数组复制一份新的数组,原有数组不变,方法有哪几种:concat/slice
  7. 删除数组中指定索引项,或者往指定索引处添加内容的方法:splice
  8. 数组从小到大排序(可以处理10以上的数字):sort(function(a,b){return a-b});
  9. 检查数组中是否包含某项内容(可以不兼容):indexOf
  10. 实现找到第n项到第m项的内容,返回一个新的数组(原有数组不变): slice(n-1,m)

四、写出下面表达式的运算结果

  1. 1==true:true
  2. 1===true :flase
  3. null==undefined: ture
  4. 2==true : flase
  5. 2==false : flase
  6. NaN==false: flase
  7. 0==false : true
  8. 0==NaN : flase
  9. !NaN : true  (不是flase )
  10. []==[] : flase
  11. ({}=={}) : flase
  12. If({}){alert(“true”)}else{alert(“false”)} : true//不是字符串“true”
  13. If([]){alert(“true”)}else{alert(“false”)} : true
  14. If(document.body){alert(“true”)}else{alert(“false”)}: true
  15. If(“3px”*3){alert(“true”)}else{alert(“false”)} : flase
  16. If(“3px”+3){alert(“true”)}else{alert(“false”)} : true
  17. Number(“23px”) : NaN
  18. parseInt(“23px”) : 23
  19. “5”+3 : “53”//字符串“53”
  20. “5”-3 : 2

操作总结:

1、写一个对象,来描述金庸武侠小说中的主人工:令狐冲姓名:令狐冲 年龄:20 身高:180cm 体重:70kg;前女友:岳灵珊 现女友:任盈盈 朋友:田伯光、不戒和尚、陆大有、向问天;描述完成后,请用相关的循环,把属性名和属性值循环输出,格式:属性名:xxx 属性值:xxX

<script>

//注意对象是用[,]来分割的,下面是neme,age等之间的分割用的是[,] 而不是[;]
var person={
name:"linghuchong",
age:20,
height:"180cm",
width:"70kg",
oldGF:"yuelingshan",
newGF:"renyingying",
friend:["tianboguang","bujieheshang","ludayou","xiangwentian"]
}
//下面是声明一个key是person中的属性名
for(var key in person){
//在控制台输出,属性名和属性值;person[key]代表的是属性值
console.log("属性名:"+key+"属性值"+person[key])
}
</script>

2、函数改写:

  • var oLis=document.getElementsByTagName(“li”);
  • for(var i=0;i<oLis.length;i++){
  • var n=i%3;
  • if(n==0){
  • oLis[i].className=”bcRed”;
  • }else if(n==1){
  • oLis[i].className=”bcYell”;
  • }else{
  • oLis[i].className=”bcBlue”;
  • }
  • }

将上面代码中的for循环改写成while循环

将if else判断改写成switch判断

<script>
var oLis=document.getElementsByTagName("li");
var i=0;
while(i<oLis.length){
var n=i%3;
switch(n){
case 0
oLis[i].className="zhu1";
break;
case 1
oLis[i].className="zhu2";
break;
default
oLis[i].className="zhu3";
}
i++
}
</script>

3、写一个方法sum来实现任意数求和的功能(说明:任意数求和指的是,在方法执行的时候,不管传多少个数字,都可以累加求和)

  • 1、写个方法,实现基础的要求+6分
  • 2、把求和结果返回到函数外面,在外面接收的+2分
  • 3、对于非有效数字可以过滤掉,不进行累加求和+2分

4、实现一个方法getRandom来实现获取n到m之间的随机整数(包含n和m)

  • 1、实现基本功能+6分
  • 2、如果n或者m没有传递参数,或者传递的不是有效的数字,则返回的是[0-1)之间的随机
  • 3、如果传递的n的值大于m的值,让n和m交换数值+2分

5、写代码

  • <input type=”button” value=”按钮1″/>
  • <input type=”button” value=”按钮2″/>
  • <input type=”button” value=”按钮3″/>
  • <input type=”button” value=”按钮4″/>
  • <input type=”button” value=”按钮5″/>

以上是页面中的5个按钮,要求实现一个方法bindEvent,循环给5个按钮绑定点击事件,当点击的时候,弹出类似于”我是按钮x”这样的话语,你有几种办法可以实现?

  • 1、循环绑定事件,用自定义属性或者闭包的方式实现的获得满分
  • 2、一个个的单独绑定事件的只能获取4分

“`