Javascript刷题笔记(一)

本文介绍了JavaScript的一些核心概念,如类型转换、变量作用域、条件判断,以及DOM操作。强调了CSSSprites在前端性能优化中的作用,阐述了CSS精灵的优点。同时,提及了JavaScript中的事件处理,如readystatechange和DOMContentLoaded,解释了它们在页面加载流程中的触发顺序。
摘要由CSDN通过智能技术生成

Javascript刷题笔记:

  1. var a=“30”,var b=8,则执行a%b会得到6 在这种运算中只有进行加法运算的时候,数字会变成字符串,并进行字符串拼接,其余运算,都是字符串转换成数字进行运算

  2. var val = 12;
    function fun1(){
    console. log(val);
    var val = 20;
    console.log(val);
    }
    fun1();
    结果为:undefined 20
    在js中有域的概念,起初val定义为全局值,在fun1()中属于局部值,可以读取到全局值,但是在fun1()中又重新定义val,所以就不会再读取外部的值,被覆盖掉了

  3. (1)1 == true // 布尔值会转成number true即为1 所以结果是true
    0==false //布尔值false转换成number0 ,所以结果为true
    (2)Javascript规范中提到, 要比较相等性之前,不能将null和undefined转换成其他任何值,并且规定null和undefined是相等的,null和undefined都代表着无效的值。
    (3)isNaN()用于检查其参数是否是非数字值,如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。

  4. javascript基本数据类型:usnb
    undefined string number boolean
    引用数据类型:
    Object array function

  5. 检测一个js对象是数组类型方法
    a. Array.isArray(),能判断参数是否为数组
    b. instanceof 运算符返回一个布尔值,表示对象是否为某个构造函数的实例
    let arr=[1,3.5];
    arr instaceof Array
    返回true
    c. typeof 能判断类型有:number、string、boolean、symbol、undefined、function; object、array、null 的变量都返回 object
    d.Object.prototype.toString() 为 Object 对象的实例方法,默认情况下(即不重写该方法),返回参数的类型字符串。

  6. 给id='button1’的按钮button 开启禁用
    (1) document.getElementById('button1).disabled=true;
    (2)document.getElementById(‘button1’).setAttribute(‘disabled’,‘true’)

  7. 以下哪些事件会在页面加载完成(onload)之前触发?
    A. readystatechange
    document有readyState属性来描述document的loading状态,readyState的改变会触发readystatechange事件.
    loading
    文档仍然在加载
    interactive
    文档结束加载并且被解析,但是像图片,样式,frame之类的子资源仍在加载
    complete
    文档和子资源已经结束加载,该状态表明将要触发load事件。
    因此readystatechange在onload之前触发。

B.onpageshow
onpageshow 事件在用户浏览网页时触发。
onpageshow 事件类似于 onload 事件,onload 事件在页面第一次加载时触发, onpageshow 事件在每次加载页面时触发,即 onload 事件在页面从浏览器缓存中读取时不触发。

C. beforeunload
当浏览器窗口,文档或其资源将要卸载时,会触发beforeunload事件。这个文档是依然可见的,并且这个事件在这一刻是可以取消的.
如果处理函数为Event对象的returnValue属性赋值非空字符串,浏览器会弹出一个对话框,来询问用户是否确定要离开当前页面(如下示例)。有些浏览器会将返回的字符串展示在弹框里,但有些其他浏览器只展示它们自定义的信息。没有赋值时,该事件不做任何响应。

D.DOMContentLoaded
当初始的 HTML 文档被完全加载和解析完成之后,DOMContentLoaded 事件被触发,而无需等待样式表、图像和子框架的完成加载。
另一个不同的事件 load 应该仅用于检测一个完全加载的页面。因此DOMContentLoaded是HTML完全加载和解析完成之后发生的,发生时间点要早于load,选D。
在使用 DOMContentLoaded 更加合适的情况下使用 load 是一个令人难以置信的流行的错误,所以要谨慎。
注意:DOMContentLoaded 事件必须等待其所属script之前的样式表加载解析完成才会触发。

  1. alt和title同时设置的时候,alt作为图片的替代文字出现,title是图片的解释文字

  2. CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式。它允许将一个页面涉及到的所有零星图片都包含到一张大图中, 利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位, 访问页面时避免图片载入缓慢的现象。
    优点:
    (1)CSS Sprites能很好地减少网页的http请求,从而大大的提高页面的性能,这是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因;
    (2)CSS Sprites能减少图片的字节;
    (3)CSS Sprites解决了网页设计师在图片命名上的困扰,只需对一张集合的图片命名,不需要对每一个小图片进行命名,从而提高了网页制作效率。
    (4)CSS Sprites只需要修改一张或少张图片的颜色或样式来改变整个网页的风格。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值