java script学习笔记
DOM对象:把body、div、p等节点树看成一个对象。
BOM对象:把浏览器的地址栏、历史记录、DOM等装在一个对象。
js的引入方式:1、<script>.....</script>;2、写一个js文件(不需要script标签),然后在需要使用的地方通过<script src="./01.js"></script>
问题:为什么把js放到最后!
答案:1、因为是按照顺序渲染的.,所以先让用户看到内容,再进行渲染.;2、js先执行的话,如果需要getElement一个p标签,但是p标签还没有呢,那渲染个毛线。
变量声明:
JS的变量名可以用字母数字下划线和$组成,其他要求都差不多一致。
JS的变量名是区分大小写的。
变量名一定要加上var,不加和加var不是一回事!而且可能污染全局。
null 和 undefined:
null是对象,undefined指原生数据类型。绝大多数情况下都一样用就行。
数组的索引就是0到n,删除数组中某个元素,还是一样0到N编排。
Js中拼接用+号,一旦遇到非法数字后,后面一律理解为“拼接”。比如:2+3+'请问'+2+3结果为“5请问23”
点语法不是万能的修改DOM对象的属性就是直接obj.属性 = xxx就行了,有个别例外的,比如一个<div class="xxx"></div>修改它的class应该是 divObj.className = xxx;
还有一些带有横线的比如border-top-style直接按照-去掉,然后-后面第一个字母大写就行了。obj.borderTopStyle=xxx
字符串转成数值:
获取内存中正在渲染的style:
如果style是写在css中的,js没法直接获取到它的style。这时候在js中就需要使用特定的方法去获取对象的style。比如:获取obj的attr属性。currentStyle()比较老,也有可能不支持而导致语法错误!这里只是做个简单的例子学习使用。可以使用?:三元运算符。
function getStyle(obj, attr) {
return obj.currentStyle[attr] || window.getComputedStyle(obj, null)[attr];
}
window.getComputedStyle的第二个参数传伪类,比如hover状态啊什么的!而且这两个方法获取到的都是只读的。最终要修改的话还是要使用obj.style.xx属性=praseInt(getStyle(style, attr)) ....;
网友评论