第五章

第五章

  • 平稳退化-优雅降级:当浏览器不支持js的情况下仍旧能够访问网站
  • 在js中怎么创建新窗口?
  • 使用window对象的open方法,如下:window.open(url,name,features)
  • BOM与DOM的差别是什么?
  • BOM对文档内容无任何印象,反之DOM是处理文档内容的
  • 伪协议:区别于标准化协议,是一种非标准化协议
  • CSS技术并无新内容,CSS能做到的用table和font等标签也能做到,内容结构(标记),版面设计(样式)
  • 怎么写一个分离式的js?例如:给一个超链接添加一个点击弹出窗口的功能
  • 我们有非常多种方法可以找到某一个指定元素,下面示例找到含有popUp类的超链接
  • 使用getAttribute返回的是一个字符串,不是数组,书中的做法并不考虑有多个类的情况
  • 修改一下,onclick可能也是元素节点对象的一个属性值,或者说方法
  • 常规做法<p onclick="showPic(this)"></p>
  • 更改之后做法:获取到的p标签.onclick = function(){执行语句}
  • popUp函数的onclick事件,是不是有些拗口
  • 点击-触发事件-触发js函数,一个js函数不单单能被onclick事件触发,漏看了一个’调用’
  • 实际上是调用popUp函数的onclick事件
  • 过程可能是:给标签添加事件,给事件添加函数
  • HTML文档全部加载完毕之后会触发一个事件
  • 注意:当你感觉到陌生的知识,可能就是你忽略的知识
  • document对象是window对象的一个属性
  • 还是看得太快了:
  • 怎么在浏览器中弹出一个新的窗口?
  • 使用window.open函数,函数的参数是什么吗?返回什么?
  • 参数有3个:URL值——要打开的网页;新窗口的名字;新窗口的属性
  • 试验一下
  • 注意,要打开浏览器默认的弹出窗口阻拦;第二个参数新窗口的名字,类似于标签的name属性,是不显示的,不是窗口的标题,每个参数都需要用”“包裹起来,且用逗号分隔开
  • 怎么样才能点击超链接-弹出一个窗口?
  • 涉及到3个概念,标签、事件、函数
  • 把事件和标签关联起来:<p onclick=""></p>
  • 把函数和事件绑定在一起:<p onclick="fun()"></p>
  • 这么简单的事情为什么花这么久才解决?
  • 我们看下书的流程是什么样的
  • 有点对象和实例的概念,通过一个新建函数,把window.open包装成我们想要的方式,如下图:
  • 注意:调整窗口属性的时候是width=100,而不是width:100
  • 接下来就是怎么把这个函数和事件绑定起来?
  • 注意到这个函数是有传入参数的,修改一下,如下图:
  • 如果传入的不是一个字符串呢?不太可能
  • 把函数和事件绑定起来是做法之一,还有伪协议的方法(不推荐);第二种方法才是使用事件处理函数,但是事件处理函数也有两种,一种是比较容易理解的内嵌型:把事件处理函数作为属性嵌入相应的标签
  • 事件处理函数实际就是连接事件和动作函数的东西
  • 而内嵌事件处理函数就是连接标签和事件的东西
  • 虽然有些白痴,但是也是需要注意一下,都有了herf属性了,再给他添加一个点击后出现新窗口是不是多此一举?不是的,通过herf弹出的窗口的属性我们是不能更改的,显然文章的重点不在这里,所以没有特意去提
  • 在禁用JS后,内嵌的事件处理函数οnclick=”“还能够使用吗?
  • 学习CSS,CSS中是怎么做挂钩的?通过对标签的类型,类属性,ID属性挂钩使用:.class或#id,同理js可以学习
  • 怎么学习?
  • 编写的js函数最好和事件处理函数是分开的
  • 对象检测
  • 其实我不是很想花很多精力在浏览器的兼容上面
  • 5.6 性能的考虑:应该注意的一些问题
  • 5.6.1 尽量少访问DOM和少标记
  • 举个实例?
  • 自己先想一下概念:什么是访问DOM?什么是标记?类似于getElementById这三个针对document的就是访问访问dom,那么getAttribute这类呢?
  • 作者的行文思路:先说要做什么然后给出代码;先给出代码再说要做什么;无论哪种我们都可以先给出自己的答案
  • 如果文档中存在a元素;则把a元素都赋值给links;再对a元素一一处理。
  • 为什么访问DOM的方式会影响性能?访问DOM只是浏览器的一种行为之一?其他的行为呢?可以量化吗?当浏览器执行执行访问DOM的方法时发生了什么?
  • 这个可能要去读源码才知道?毕竟是原生提供的方法
  • 解决方法时变量赋予,看来变量赋予除了提高代码易读性,还有提高性能的功能
  • 标记就是元素,过多的元素会加大DOM树的规模,对性能的影响是显然的

一些思考03

  • 被满足的欲望
  • 大部分时候我们是很容易被满足的,工作中能够和领导同事聊到一块,被认同的快感就能得到满足,打开论坛看一些新闻或者说坛友的RPG、人生相谈等,好奇心的快感也能被满足,同理,上视频网站也一样,反正都是被满足,无论大小,我们都不会去深究分类,只会觉得,挺开心的
  • 再次学习的时候找准一个切入点其实很重要,无论上我上面说的逛论坛、视频网站都有一个共同点:不需要延续性,你没有给自己安排一个任务,每天看几类的帖子或者看几类的视频,每类看几个,随意性就等于不需要切入点,只要你兴趣被拉起来了,你也进入状态了
  • 学习的时候会想:自己之前学到了哪里,现在该学什么,如果没有做好充足的计划的话很容易就会有迷茫感,怎么样在没有计划的情况下迅速让自己进入到状态?
  • 先让自己的大脑活跃起来:抄书是一个不错的方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值