JS部分面试题和重要知识点汇总(更新中……)(二)

1.事件类型有哪些?

鼠标事件:  

mouseover              mouseout                mouseenter                  mouseleave                         click                    dblclick

mousedown                  mouseup                          mousemove                     mousewheel                          contextmenu    

表单事件:

focus                  blur                         input                         change                           select                         submit                     reset

页面事件:

scroll                       load                           resize  

键盘事件:

keydown(可以使得按下所有键触发)                    keypress(只有输入键触发)                   keyup

 

2.阻止冒泡的方法?

             

    stopPropagetion()

3.阻止事件默认行为方法?

               

 preventDefalt()

4.如何获取元素的宽高?

mybox.style.width         //  style行列式的宽高
getComputedStyle          //  获取行间样式和样式表属性
mybox.clientWidth         //  width + padding
mybox.offsetWidth         //  width + padding + border
mybox.scrollHeight        //  Height  + padding + 溢出部分

5.如何获取元素节点的内容?

text.innerHTML

6.如何获取表单元素的值?

input.value    

7.如何获取元素的属性?

img.src     //   元素.属性

8.如何获取滚动条的滚动距离?

 window.onscroll = function(){
        console.log(document.documentElement.scrollTop);
    }

9.创建对象的几种方式?

    (1).  对象字面量的方式{}

  let person = {
            name: '李四',
            age: 19,
            gender: '女'
        }

    (2).    工厂模式(按照模式创建对象)

   function xyj1(pname, pweapon, pgender, pintro) {
            let obj = {};
            obj.name = pname;
            obj.weapon = pweapon;
            obj.gender = pgender
            obj.intro = function() {
                console.log('我叫' + this.name);
            }
            return obj;
        }
        let p1 = xyj1('猪八戒','九尺钉耙','男',)
        let p2 = xyj1('孙悟空','金箍棒','男',)

    (3).    用原型的方式

 //原型可以用来保存相同的方法或属性

    function    Dog(name,age){    //模拟一个Dog类

            this.name=name;           //this指向实例化后的对象

            this.age=age;               //狗的年龄和名字都是属性,静态的

    }

    Dog.prototype.speak=function(){

         alert("我是一条名叫"+this.name+"的狗!爱好吃程序员!")

    }

    var  wangcai= new Dog("旺财","5")    //对象实例化

    wangcai.speak()        //执行方法

    (4).    用new object方式

var person = new Object();
person.name = "wz";
person.age = 21;
person.sex = "male";
person.sayName = function(){
   alert("this.name")
}

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值