专项练习15

目录

一、选择题

    1、如果要打开名为 “window2"的新窗口,可以通过()

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

    3、Angular指令中哪种作用域可以继承父scope

    4、下列哪些事件不支持冒泡?()

二、编程题

    1、请补全JavaScript函数,要求将字符串参数转换为对象的形式返回。

    2、要求去除参数字符串两端的空格并返回


一、选择题

1、如果要打开名为 “window2"的新窗口,可以通过()

A、open.new("http://www.w3school.com.cn","window2")

B、new.window("http://www.w3school.com.cn","window2")

C、new("http://www.w3school.com.cn","window2")

D、window.open("http://www.w3school.com.cn","window2")

正确答案:D        你的答案:B

解析:

(1)window.open(URL,name) 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口

① 参数1(URL)指定打开的页面URL,如果没有指定URL,则打开一个新的空白窗口

② 参数2(name)指定窗口的名称,由字母、数字和下划线字符组成,不能有空格

(2)特殊意义的名称

①_blank:在窗口显示目标网页

②_self:在当前窗口显示目标网页

③_top:框架网页的上部窗口中显示目标网页

注意:相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同

(3)window.open()有四个参数时

①url地址

②name 

③features:新窗口信息(大小位置等)

④布尔类型:是否作为历史记录

<body>
    <button id="btn">点击按钮</button>
    <script>
        document.getElementById('btn').onclick=function(){
            newWindow=window.open('https://www.baidu.com/','_blank','left=200px,top=100px,width=500px,height=500px',false)
        }
    </script>
</body>


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

A、click

B、contextmenu

C、mouseout

D、keydown

正确答案:D

解析:

(1)选项解析

选项A:click是鼠标点击事件

选项B:contextmenu 是当浏览者按下鼠标右键出现菜单时者通过键盘的按键触发页面菜单触发的事件 [ 在页面中的 <body> 中加入 onContentMenu="return false" 就可禁止使用鼠标右键了 ]

选项C:mouseout 事件会在鼠标指针移出指定的对象时发生

选项D:keydown 事件会在用户按下一个键盘按键时发生,由键盘触发

(2)常见事件

①点击事件

  • onclick:单击事件
  • ondblclick:双击事件 

②焦点事件

  • onblur    失去焦点
  • onfocus    元素获得焦点

③加载事件

  • onload    一张页面或一幅图像完成加载

④鼠标事件

  • onmousedown    鼠标按钮被按下
  • onmouseup    鼠标按键被松开
  • onmousemove    鼠标被移动
  • onmouseover    鼠标移到某元素之上
  • onmouseout    鼠标从某元素移开

⑤键盘事件

  • onkeydown    某个键盘按键被按下
  • onkeyup        某个键盘按键被松开
  • onkeypress    某个键盘按键被按下并松开

⑥选择和改变

  • onchange    域的内容被改变
  • onselect    文本被选中

⑦表单事件

  • onsubmit    确认按钮被点击
  • onreset    重置按钮被点击

3、Angular指令中哪种作用域可以继承父scope

A、scope:true

B、scope:{}

C、scope:parent

D、默认就继承了父作用域

正确答案:A

解析:

(1)scope: true 和 transclude: true 会创建新的子作用域,并且进行原型继承

(2)scope: {...} 会创建新的独立作用域不会进行原型继承

(3)默认情况下创建directive使用了scope: false,不会创建子作用域


4、下列哪些事件不支持冒泡?()

A、resize

B、click

C、blur

D、mouseleave

正确答案:ACD        你的答案:AC

解析:

不支持冒泡的快速记忆大法

“俺(unload)妈(mouseenter) 妈(mouseleave) 不(blur) 让(resize) 浪(load) 费(focus)”


二、编程题

1、请补全JavaScript函数,要求将字符串参数转换为对象的形式返回。

示例:typeof string === 'string' -> typeof _stringtoobject(string) === 'object'

解析:

(1)法一:new一个实例

<script>
    var string = '2sdg'
    function _stringtoobject(string) {
        return new String(string)
    }
    console.log(_stringtoobject(string));
</script>

(2)法二:Object()

<script>
    var string = '2sdg'
    function _stringtoobject(string) {
        return Object(string)
    }
    console.log(_stringtoobject(string));
</script>

(3)法三:{}

<script>
    var string = '2sdg'
    function _stringtoobject(string) {
        return {string}
    }
    console.log(_stringtoobject(string));
</script>

2、要求去除参数字符串两端的空格并返回

解析:

(1)法一:trim()

<script>
    var string = '  2sdg    '
    function _trim(string){
        return string.trim()
    }
    console.log(_trim(string));
</script>

(2)法二:正则表达式

<script>
    var string = '  2sdg    '
    function _trim(string){
        return string.replace(/^\s|\s$/g,"")
    }
    console.log(_trim(string));
</script>

猜你喜欢

转载自blog.csdn.net/qq_51478745/article/details/131464296