JavaScript学习笔记 1
《精通js脚本之jQuery框架》
for in
var arr = new Array(); arr[0] = 'a'; arr[1] = 'b'; for(var a in arr) { alert(a); } // arr如果是对象,则遍历对象属性 // 如果arr是属性 // 1. for in 遍历属性顺序不可预测 // 2. 内置对象属性不会列举 // 3. for in 不能列举未定义
function返回值为弱类型
with用法:
// with用法: 类似于构造函数初始化 var obj=document.createElement('div'); with(obj) { style.cursor="xxx"; style.zIndex="xxx"; innerHTML="abcd"; } document.body.appendChild(obj); // 上面代码等价于如下: var obj=document.createElement('div'); obj.style.cursor="xxx"; obj.style.zIndex="xxx"; obj.innerHTML="abcd"; document.body.appendChild(obj);
函数定义通常放于<head></head>, 函数调用必须位于<body></body>
javascript内置函数: eval, parseInt, parseFloat, escape, unescape, isNaN, isFinite
自定义对象:
对象是一种特殊的数据,包含属性&方法。对象中包含的变量称为属性,对属性进行操作的函数叫做方法。
<script language="javascript"> // 构造函数必须唯一,构造函数中不能有返回值 // 函数可以直接以名字的形式传入 function ObjName (attr1, attr2, test) { this.attr1 = attr1; this.attr2 = attr2; this.fun = test; } // error: 不能有2个构造函数 //function ObjName () { // body... //} // 该函数可以赋值给任何对象做方法 // 但是要求必须由attr1, 否则会undefined function test () { alert(this.attr1); } // 对象名同名函数可以作为对象的构造函数 // 构造函数中可以使用this var obj = new ObjName('xxx', 'xx', test); obj.fun(); alert(obj.attr1); </script>
window对象代表一个浏览器窗口
属性:status location
方法: open, close, alert, confirm, propt, blur, focus, scroll, setTimeout
document是html文档对象
属性:title, bgColor fgColor, linkColor, alinkColor, vlinkColor, URL, fileCreatedData, fileModifiedData, charset, fileSize, cookie.
方法: write, createElement, getElementById, getElementByName
location对象(是window的属性)
href(返回值是字符串), reload();
window.location=xxx跳转地址;window.location.href返回xxx用于显示等作用。【实验,都可以跳转】
window.history, window.external
window.history.go(-1);
<a href="nogo" onClick="Javascript: window.external.addFavorite('主页', 'http://www.so.com')">点击收藏</a>