`

javascript基础知识

阅读更多
每一项都是js中的小技巧,但十分的实用! 
1.document.write(""); 输出语句 
2.JS中的注释为// 
3.传统的HTML文档顺序是:document->html->(head,body) 
4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 
5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 
6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("i
nput").value.toUpperCase(); 
7.JS中的值类型:String,Number,Boolean,Null,Object,Function 
8.JS中的字符型转换成数值型:parseInt(),parseFloat() 
9.JS中的数字转换成字符型:(""+变量) 
10.JS中的取字符串长度是:(length) 
11.JS中的字符与字符相连接使用+号. 
12.JS中的比较操作符有:==等于,!=不等于,>,>=,<.<= 
13.JS中声明变量使用:var来进行声明 
14.JS中的判断语句结构:if(condition){}else{} 
15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop} 
16.循环中止的命令是:break 
17.JS中的函数定义:function functionName([parameter],...) 
18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替. 
19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self 
20.状态栏的设置:window.status="字符"; 
21.弹出提示信息:window.alert("字符"); 
22.弹出确认框:window.confirm(); 
23.弹出输入提示框:window.prompt(); 
24.指定当前显示链接的位置:window.location.href="URL" 
25.取出窗体中的所有表单的数量:document.forms.length 
26.关闭文档的输出流:document.close(); 
27.字符串追加连接符:+= 
28.创建一个文档元素:document.createElement(),document.createTextNode() 
29.得到元素的方法:document.getElementById() 
30.设置表单中所有文本型的成员的值为空: 
var form = window.document.forms[0] 
for (var i = 0; i if (form.elements.type == "text"){ 
form.elements.value = ""; 


31.复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中
返回TRUE或FALSE) 
32.单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length 
33.单选按钮组判断是否被选中也是用checked. 
34.下拉列表框的值:document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.sel
ectedIndex来确定被选中的值) 
35.字符串的定义:var myString = new String("This is lightsword"); 
36.字符串转成大写:string.toUpperCase(); 字符串转成小写:string.toLowerCase(); 
37.返回字符串2在字符串1中出现的位置:String1.indexOf("String2")!=-1则说明没找到. 
38.取字符串中指定位置的一个字符:StringA.charAt(9); 
39.取出字符串中指定起点和终点的子字符串:stringA.substring(2,6); 
40.数学函数:Math.PI(返回圆周率),Math.SQRT2(返回开方),Math.max(value1,value2)返回两个数中的最
在值,Math.pow(value1,10)返回value1的十次方,Math.round(value1)四舍五入函数,Math.floor(Math.ra
ndom()*(n+1))返回随机数 
41.定义日期型变量:var today = new Date(); 
42.日期函数列表:dateObj.getTime()得到时间,dateObj.getYear()得到年份,dateObj.getFullYear()得到
四位的年份,dateObj.getMonth()得到月份,dateObj.getDate()得到日,dateObj.getDay()得到日期几,dat
eObj.getHours()得到小时,dateObj.getMinutes()得到分,dateObj.getSeconds()得到秒,dateObj.setTi
me(value)设置时间,dateObj.setYear(val)设置年,dateObj.setMonth(val)设置月,dateObj.setDate(va
l)设置日,dateObj.setDay(val)设置星期几,dateObj.setHours设置小时,dateObj.setMinutes(val)设置分,
dateObj.setSeconds(val)设置秒 [注意:此日期时间从0开始计] 
43.FRAME的表示方式: [window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarN
ame,frameName.ObjFuncVarName 
44.parent代表父亲对象,top代表最顶端对象 
45.打开子窗口的父窗口为:opener 
46.表示当前所属的位置:this 
47.当在超链接中调用JS函数时用:(javascript :)来开头后面加函数名 
48.在老的浏览器中不执行此JS: 
49.引用一个文件式的JS: 
50.指定在不支持脚本的浏览器显示的HTML: 
51.当超链和onCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:dfsadf 
52.JS的内建对象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,
ReferenceError,RegExp,String,SyntaxError,TypeError,URIError 
53.JS中的换行:\n 
54.窗口全屏大小: 
55.JS中的all代表其下层的全部元素 
56.JS中的焦点顺序:document.getElementByid("表单元素").tabIndex = 1 
57.innerHTML的值是表单元素的值:如 
"how are you" 

,则innerHTML的值就是:how are you 
58.innerTEXT的值和上面的一样,只不过不会把这种标记显示出来. 
59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态. 
60.isDisabled判断是否为禁止状态.disabled设置禁止状态 
61.length取得长度,返回整型数值 
62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc 
63.window.focus()使当前的窗口在所有窗口之前. 
64.blur()指失去焦点.与FOCUS()相反. 
65.select()指元素为选中状态. 
66.防止用户对文本框中输入文本:onfocus="this.blur()" 
67.取出该元素在页面中出现的数量:document.all.tags("div(或其它HTML标记符)").length 
68.JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless() 
69.状态栏文字的设置:window.status='文字',默认的状态栏文字设置:window.defaultStatus = '文字.'; 
70.添加到收藏夹:external.AddFavorite("http://www.dannyg.com"t;,"jaskdlf"); 
71.JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.on
error = handleError; 
72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener...的多重继续. 
73.JS中的self指的是当前的窗口 
74.JS中状态栏显示内容:window.status="内容" 
75.JS中的top指的是框架集中最顶层的框架 
76.JS中关闭当前的窗口:window.close(); 
77.JS中提出是否确认的框:if(confirm("Are you sure?"))else{alert("Not Ok");} 
78.JS中的窗口重定向:window.navigate("http://www.sina.com.cn"t;); 
79.JS中的打印:window.print() 
80.JS中的提示输入框:window.prompt("message","defaultReply"); 
81.JS中的窗口滚动条:window.scroll(x,y) 
82.JS中的窗口滚动到位置:window.scrollby 
83.JS中设置时间间隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeou

84.JS中的模态显示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]); 
85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue="we really like you and ho
pe you will stay longer.";}} window.onbeforeunload=verifyClose; 
86.当窗体第一次调用时使用的文件句柄:onload() 
87.当窗体关闭时调用的文件句柄:onunload() 
88.window.location的属性: protocol(http:),hostname(example.com),port(80),host(e
xample.com:80),pathname("/a/a.html"),hash("#giantGizmo",指跳转到相应的锚记),href(全部的信
息) 
89.window.location.reload()刷新当前页面. 
90.window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回
第几页,也可以使用访问过的URL) 
91.document.write()不换行的输出,document.writeln()换行输出 
92.document.body.noWrap=true;防止链接文字折行. 
93.变量名.charAt(第几位),取该变量的第几位的字符. 
94."abc".charCodeAt(第几个),返回第几个字符的ASCii码值. 
95.字符串连接:string.concat(string2),或用+=进行连接 
96.变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算) 
97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置. 
98.string.match(regExpression),判断字符是否匹配. 
99.string.replace(regExpression,replaceString)替换现有字符串. 
100.string.split(分隔符)返回一个数组存储值. 
101.string.substr(start[,length])取从第几位到指定长度的字符串. 
102.string.toLowerCase()使字符串全部变为小写. 
103.string.toUpperCase()使全部字符变为大写. 
104.parseInt(string[,radix(代表进制)])强制转换成整型. 
105.parseFloat(string[,radix])强制转换成浮点型. 
106.isNaN(变量):测试是否为数值型. 
107.定义常量的关键字:const,定义变量的关键字:var 
--------------------------------------------------------------------------------------------------------------------------------

javascript38种小技巧,推荐新手查看。

 事件源对象
event.srcElement.tagName
event.srcElement.type
  • 捕获释放
    event.srcElement.setCapture(); 
    event.srcElement.releaseCapture(); 
  • 事件按键
    event.keyCode
    event.shiftKey
    event.altKey
    event.ctrlKey
  • 事件返回值
    event.returnValue
  • 鼠标位置
    event.x
    event.y
  • 窗体活动元素
    document.activeElement
  • 绑定事件
    document.captureEvents(Event.KEYDOWN);
  • 访问窗体元素
    document.all("txt").focus();
    document.all("txt").select();
  • 窗体命令
    document.execCommand
  • 窗体COOKIE
    document.cookie
  • 菜单事件
    document.oncontextmenu
  • 创建元素
    document.createElement("SPAN"); 
  • 根据鼠标获得元素:
    document.elementFromPoint(event.x,event.y).tagName=="TD
    document.elementFromPoint(event.x,event.y).appendChild(ms) 
  • 窗体图片
    document.images[索引]
  • 窗体事件绑定
    document.onmousedown=scrollwindow;
  • 元素
    document.窗体.elements[索引]
  • 对象绑定事件
    document.all.xxx.detachEvent('onclick',a);
  • 插件数目
    navigator.plugins
  • 取变量类型
    typeof($js_libpath) == "undefined"
  • 下拉框
    下拉框.options[索引]
    下拉框.options.length
  • 查找对象
    document.getElementsByName("r1");
    document.getElementById(id);
  • 定时
    timer=setInterval('scrollwindow()',delay);
    clearInterval(timer);
  • UNCODE编码
    escape() ,unescape
  • 父对象
    obj.parentElement(dhtml)
    obj.parentNode(dom)
  • 交换表的行
    TableID.moveRow(2,1)  document.all.csss.href = "a.css";  
  • 替换CSS
  • 并排显示
    display:inline
  • 隐藏焦点
    hidefocus=true
  • 根据宽度换行
    style="word-break:break-all"
  • 自动刷新
    <meta HTTP-EQUIV="refresh" CONTENT="8;URL=http://c98.yeah.net">
  • 简单邮件
    <a  href="mailto:aaa@bbb.com?subject=ccc&body=xxxyyy"> 
  • 快速转到位置
    obj.scrollIntoView(true)

  • <a name="first">
    <a href="#first">anchors</a>
  • 网页传递参数
    location.search();
  • 可编辑
    obj.contenteditable=true
  • 执行菜单命令
    obj.execCommand
  • 双字节字符
    /[^\x00-\xff]/
    汉字
    /[\u4e00-\u9fa5]/
  • 让英文字符串超出表格宽度自动换行
    word-wrap: break-word; word-break: break-all;
  • 透明背景
    <IFRAME src="1.htm" width=300 height=180 allowtransparency></iframe>
  • 获得style内容
    obj.style.cssText
  • HTML标签
    document.documentElement.innerHTML
  • 第一个style标签
    document.styleSheets[0]
  • style标签里的第一个样式
    document.styleSheets[0].rules[0]
  • 防止点击空链接时,页面往往重置到页首端。
    <a href="javascript:function()">word</a>
  • 上一网页源
    asp:
    request.servervariables("HTTP_REFERER")
    javascript:
    document.referrer
  • 释放内存
    CollectGarbage();
  • 禁止右键
    document.oncontextmenu = function() { return false;}
  • 禁止保存
    <noscript><iframe src="*.htm"></iframe></noscript>
  • 禁止选取<body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false"onmouseup="document.selection.empty()> 
  • 禁止粘贴
    <input type=text onpaste="return false">
  • 地址栏图标
    <link rel="Shortcut Icon" href="favicon.ico">
    favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下
  • 收藏栏图标
    <link rel="Bookmark" href="favicon.ico">
  • 查看源码
    <input type=button value=查看网页源代码 onclick="window.location = 'view-source:'+ 'http://www.csdn.net/'">
  • 关闭输入法
    <input style="ime-mode:disabled">
  • 自动全选
    <input type=text name=text1 value="123" onfocus="this.select()">
  • ENTER键可以让光标移到下一个输入框
    <input onkeydown="if(event.keyCode==13)event.keyCode=9">
  • 文本框的默认值
    <input type=text value="123" onfocus="alert(this.defaultValue)">
  • title换行
    obj.title = "123&#13sdfs&#32"
  • 获得时间所代表的微秒
    var n1 = new Date("2004-10-10".replace(/-/g, "\/")).getTime()
  • 窗口是否关闭
    win.closed
  • checkbox扁平
    <input type=checkbox style="position: absolute; clip:rect(5px 15px 15px 5px)"><br>
  • 获取选中内容
    document.selection.createRange().duplicate().text
  • 自动完成功能
    <input  type=text  autocomplete=on>打开该功能 
    <input  type=text  autocomplete=off>关闭该功能   
  • 窗口最大化
    <body onload="window.resizeTo(window.screen.width - 4,window.screen.height-50);window.moveTo(-4,-4)">
  • 无关闭按钮IE
    window.open("aa.htm", "meizz", "fullscreen=7");
  • 统一编码/解码
    alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe")))
    encodeURIComponent对":"、"/"、";" 和 "?"也编码
  • 表格行指示
    <tr onmouseover="this.bgColor='#f0f0f0'" onmouseout="this.bgColor='#ffffff'">

------------------------------------------------------------------------------------------------------------------------------------------------

核心(Core) Javascript 学习手记

核心(Core) Javascript 学习手记


    linenum
  1.  
  2. CREATED BY STABX, AT 2006-9-5.
  3.  
  4. Javascript Notes By shawl.qiu
  5.  
  6. ---/-------------------------------------------------------------
  7.  
  8. -3.1 函数比其他代码优先执行
  9. -3. 优先级
  10. -2.4 同时初始化多个变量并赋相同值
  11. -2.3 在函数中使用 var 定义一个变量, 该变量将影响整个函数, 不分先后. 
  12. -2.2 全局变量与局部变量
  13. -2.1.2 普通定义变量 2
  14. -2.1.1 普通定义变量 1
  15. -2.1 普通定义变量
  16. -2. var 定义变量
  17. -1.5 in 操作符
  18. -1.4.2 true 等价 1, false 等价 0.
  19. -1.4 == 与 ===
  20. -1.4.1 NaN
  21. -1.3 0/0=?
  22. -1.2 类型转换
  23. -1.1 -- 与 ++
  24. -1.1.1
  25. -1. 运算符
  26.  
  27. 0. 语法
  28. 0.1 Switch
  29.  
  30. 1. 按钮
  31. 1.1 前进后退按钮
  32. 1.2 确认按钮
  33. 1.3 最原始也最实用的  UBB 代码输入方法——SCRIPT & FORM
  34. 1.4 Prompt
  35. 1.5.1 鼠标经过时选中,并隐藏原框的文字, 移开再显示文字 ——文本框
  36. 1.5 鼠标经过时选中 ——复选框 Focus()
  37. 1.6 鼠标经过自动提交表单
  38.  
  39. 2. 接收键盘事件
  40. 2.1 按任何键关闭窗口 
  41. 2.2 实时显示更改的图片链接
  42.  
  43. 3. 数组/Array
  44. 3.1 Javascript 结合 Asp 使用数组
  45.  
  46. 4. 控制图片大小
  47.  
  48. 5. 双击拷贝文本
  49.  
  50. 6. IE 全屏显示
  51.  
  52. 7. 文本框回车链接
  53.  
  54. 8. 顯示頁面所有元素
  55.  
  56. 9. 正则表达式
  57.  
  58. 10. 接收鼠标事件
  59. 10.1 单击鼠标右击关闭窗口 (我用左手)
  60. 10.2 鼠标移过选择表单项
  61.  
  62. 11. 字符串
  63. 11.1 检测字符串中是否出现某字符
  64.  
  65. 12. 随机数
  66. 12.1.1 生成 GUID 2
  67. 12.1 生成 GUID
  68.  
  69. 13. 时间操作
  70. 13.1 以毫秒为单位的倒计时跳转, 来源 CSDN
  71.  
  72. 14. switch
  73. 14.1 简单 switch
  74. 15 if 判断
  75. 15.1.2 简单 if 判断 3
  76. 15.1.1 简单 if 判断 2
  77. 15.1 简单 if 判断
  78. 15.2 if 判断的 三个 写法
  79. 15.3 判断执行文件使用网络还是使用本地协议
  80. 15.4 if...else 写法
  81.  
  82. 16. 简单 while
  83.  
  84. 16. while
  85.  
  86. 17. do while
  87. 17.1.2 简单 do while
  88. 17.1 简单 do while
  89.  
  90. 18. for
  91. 18.1 简单 for
  92. 18.2 简单 for 1
  93. 18.3 循环列出从 a - z 的字母
  94. 18.3 n阶乘
  95. 18.4 Fibonacci Numbers
  96.  
  97. 19. for in
  98. 19.1.1 简单 for in 1
  99. 19.1 简单 for in
  100. 19.2.1 for in 赋值 [数组] 1
  101. 19.2 for in 赋值 [数组]
  102.  
  103. 20. try, catch, finally
  104. 20.1.1 简单 try, catch 1
  105. 20.1 简单 try, catch
  106.  
  107. 21. with
  108. 21.1 简单with (另一写法)
  109. 21.1 简单 with
  110.  
  111. 22. break, continue
  112. 22.1 continue
  113. 22.2.1 break 标签
  114. 22.2 break 
  115.  
  116. 23. call, apply
  117. 23.1.1 找出数组中最大的数
  118. 23.1 apply
  119.  
  120. 24. object
  121. 24.1.1 创建简单对象 一
  122. 24.1.2 创建简单对象 二
  123. 24.1 创建简单对象
  124. 24.2.1 创建嵌套对象 1
  125. 24.2 创建嵌套对象
  126. 24.3 删除对象中的属性
  127. 24.4.1 遍历对象中的属性名 1
  128. 24.4 遍历对象中的属性名
  129. 24.5 obj.propertyIsEnumerable('ele')
  130. 24.6 obj.hasOwnProperty('ele')
  131.  
  132. 25. toString
  133. 25.1 使用 toString 列出数组中的元素
  134.  
  135. 26. Array()
  136. 26.0.1 简单创建数组, 并赋值 2
  137. 26.0 简单创建数组, 并赋值
  138. 26.0.3 创建数组中的数组
  139. 26.0.4 创建数组中的对象
  140. 26.0.2 简单创建数组
  141. 26.1 [array].push(), [array].pop()
  142. 26.2 数组排序
  143. 26.3 创建数组指定维数, 从 1 开始.
  144.  
  145. 27. RegExp
  146. 27.1 普通操作 1
  147. 27.2 test 语句
  148. 27.3 exec 语句
  149.  
  150. 28. new 语法
  151.  
  152. 29. isNaN
  153.  
  154. 30. Date()
  155. 30.1 输出年月日, 时分秒 的日期格式
  156.  
  157. 31. function 函数
  158. 31.1.1.1 三种定义函数的方法 1.1
  159. 31.10 在数组中存储函数, 并引用
  160. 31.1.1 三种定义函数的方法 1
  161. 31.1.2 三种定义函数的方法 2
  162. 31.1 三种定义函数的方法
  163. 31.2 在标签中写函数
  164. 31.3 创建嵌套函数
  165. 31.4.1 创建递归函数 1 
  166. 31.4 创建递归函数
  167. 31.5 创建 函数对象
  168. 31.6 在函数内部定义的函数只能在该函数内部调用
  169. 31.7 定义函数变量, 并赋值
  170. 31.8 变量引用函数
  171. 31.9 在对象中存储函数, 并引用
  172. 31.11 function.call()
  173. 31.12 在函数内定义的变量可以被下级内嵌函数调用 
  174.  
  175. 32. typeof 查看数据类型
  176. 32.1 
  177.  
  178. 33. obj.valueOf() 返回原始值
  179.  
  180. 34. Math 对象
  181. 34.1.1 生成 1 至 4 的随机数
  182. 34.1 Math.random();
  183. 34.2 求 x 的 n 次方
  184.  
  185. 35. delete 
  186.  
  187. 36. confirm() 确认框
  188. 36.1 带条件确认框
  189.  
  190. 37. window.open
  191.  
  192. 37. window
  193. 37.1 打开没有焦点的窗口
  194.  
  195. 38. return 返回值
  196. 38.1 return true
  197. 38.2 return undefined
  198.  
  199. 39. throw
  200. 39.1 简单产生错误
  201.  
  202. 40. arguments
  203. 40.1 判断 arguments.length
  204. 40.2 列出所有 argument 的值
  205. 40.3 arguments.callee / 调用函数本身
  206.  
  207. 41. .to******
  208. 41.1 toString
  209.  
  210. 42. parseInt() / parseFolat()
  211.  
  212. --------------------------------
  213.  
  214. 42. parseInt() / parseFolat()
  215. <script type="text/javascript">
  216. //<![CDATA[
  217.     var str='1.1322 this test ';
  218.     document.write(('str like this: ').bold()+str.fontcolor('red')+'<br/>');
  219.     document.write(('parseInt(str): ').bold()+parseInt(str)+'<br/>');
  220.     document.write(('parseFloat(str): ').bold()+parseFloat(str)+'<br/>');
  221.     
  222.     document.write(('parseInt(1111,2): ').bold()+parseInt(1111,2)+'<br/>');
  223.     document.write(('parseInt(1111,8): ').bold()+parseInt(1111,8)+'<br/>');
  224.     document.write(('parseInt(1111): ').bold()+parseInt(1111)+'<br/>');
  225.     document.write(('parseInt(1111,16): ').bold()+parseInt(1111,16)+'<br/>');
  226. //]]>
  227. </script>
  228.  
  229. 41. .to******
  230. <script type="text/javascript">
  231. //<![CDATA[
  232.     var num=12345.6789
  233.     
  234.     document.write(('parseInt(num): ').bold()+parseInt(num)+'<br/>');
  235.     
  236.     document.write(('num.toFixed(0): ').bold()+num.toFixed(0)+'<br/>');
  237.     document.write(('num.toFixed(2): ').bold()+num.toFixed(2)+'<br/>');
  238.     
  239.     document.write(('num.toExponential(2): ').bold()+num.toExponential(2)+'<br/>');
  240.     document.write(('num.toExponential(1): ').bold()+num.toExponential(1)+'<br/>');
  241.     
  242.     document.write(('num.toPrecision(1): ').bold()+num.toPrecision(1)+'<br/>');
  243.     document.write(('num.toPrecision(2): ').bold()+num.toPrecision(2)+'<br/>');
  244.     
  245. //]]>
  246. </script>
  247.  
  248. 41.1 toString
  249. <script type="text/javascript">
  250. //<![CDATA[
  251.     var num=123456789
  252.     
  253.     document.write(('num.toString(): ').bold()+num.toString()+'<br/>');
  254.     document.write(('num.toString(2): ').bold()+num.toString(2)+'<br/>');
  255.     document.write(("'0'+num.toString(8): ").bold()+'0'+num.toString(8)+'<br/>');
  256.     document.write(("'0x'+num.toString(16): ").bold()+'0x'+num.toString(16)+'<br/>');
  257.  
  258. //]]>
  259. </script>
  260.  
  261.  
  262.  
  263. 40. arguments
  264.  
  265. 40.1 判断 arguments.length
  266. <script type="text/javascript">
  267. //<![CDATA[
  268.     function t(a, b, c, d){
  269.         if(arguments.length!=4)document.write(('error! argument must be 4 element.').fontcolor('red')+' current arguments length: '+arguments.length+'<br/>');
  270.         else document.write(('this right: '+arguments.length).bold()+' arguments<br/>');
  271.     }
  272.     t();
  273.     t('a', 'b', 'c', 'd');
  274.     t('a', 'b', 'c', 'd', 'e');
  275. //]]>
  276. </script>
  277.  
  278. 40.2 列出所有 argument 的值
  279. <script type="text/javascript">
  280. //<![CDATA[
  281.     function t(){
  282.         for(var i=0; i<arguments.length; i++){
  283.             document.write(('arguments['+i+']').bold()+' = '+arguments[i].fontcolor('red')+'<br/>');
  284.         }
  285.     }
  286.     var temp='test';
  287.     t('aaa', 'bbb', 'ccc', 'ddd', 'eee', temp);
  288. //]]>
  289. </script>
  290.  
  291. 40.3 arguments.callee / 调用函数本身
  292. <script type="text/javascript">
  293. //<![CDATA[
  294.     var t=function(x){
  295.             document.write(x+'<br/>');
  296.             if(x>1){
  297.                 arguments.callee(x-1);
  298.             }
  299.         }
  300.         t(10);
  301. //]]>
  302. </script>
  303.  
  304. 39. throw
  305.  
  306. 39.1 简单产生错误
  307. <script type="text/javascript">
  308. //<![CDATA[
  309.     t(10);
  310.     t();
  311.     
  312.     function t(x){
  313.         if(typeof x==='undefined')throw new Error('x must be own a value');
  314.         document.write(x);
  315.     }
  316. //]]>
  317. </script>
  318.  
  319. 38. return 返回值
  320.  
  321. 38.1 return true
  322. <script type="text/javascript">
  323. //<![CDATA[
  324.     function t(ipt){
  325.         window.status=ipt;
  326.         return true;
  327.     }
  328.     t('test this');
  329. //]]>
  330. </script>
  331.  
  332. 38.2 return undefined
  333. <script type="text/javascript">
  334. //<![CDATA[
  335.     function t(t){
  336.         if(t==null)return;
  337.     }
  338.     document.write(t()); // undefined
  339. //]]>
  340. </script>
  341.  
  342. 37. window
  343.  
  344. 37. window.open
  345.  
  346. 37.1 打开没有焦点的窗口
  347. <script type="text/javascript">
  348. //<![CDATA[
  349.     var w=window.open('/')
  350.     w.blur();
  351.     window.focus();
  352. //]]>
  353. </script>
  354.  
  355. 36. confirm() 确认框
  356.  
  357. 36.1 带条件确认框
  358. <script type="text/javascript">
  359. //<![CDATA[
  360.     var x=confirm('what doing with you')
  361.         if(x){alert('ok')}else alert('good choice');
  362. //]]>
  363. </script>
  364.  
  365. 35. delete 
  366. <script type="text/javascript">
  367. //<![CDATA[
  368.     var t={i:'ok', j:'ok too'}
  369.     document.write(delete t.i); // true
  370.     document.write('<br/>');
  371.     document.write(delete t); // false 不能删除 使用 var 定义的变量或对象
  372.     document.write('<br/>');
  373.     document.write(delete n); // true 删除不存在的元素.
  374.     document.write('<br/>');
  375.     document.write(delete j); // true
  376.     document.write('<br/>');
  377. //]]>
  378. </script>
  379.  
  380. 34. Math 对象
  381.  
  382. 34.1 Math.random();
  383.  
  384. 34.1.1 生成 1 至 4 的随机数
  385. <script type="text/javascript">
  386. //<![CDATA[
  387.     document.write(parseInt(Math.random()*4+1)+'<br/>');
  388. //]]>
  389. </script>
  390.  
  391. 34.2 求 x 的 n 次方
  392. <script type="text/javascript">
  393. //<![CDATA[
  394.     document.write(Math.pow(2,10));
  395. //]]>
  396. </script>
  397.  
  398. 33. obj.valueOf() 返回原始值
  399. <script type="text/javascript">
  400. //<![CDATA[
  401.     var a=1, b='test', c=false, d=new Object();
  402.     document.write(a.valueOf()+'<br/>'); // 1
  403.     document.write(b.valueOf()+'<br/>'); // test
  404.     document.write(c.valueOf()+'<br/>'); // false
  405.     document.write(d.valueOf()+'<br/>'); // [object Object]
  406. //]]>
  407. </script>
  408.  
  409. 32. typeof 查看数据类型
  410. <script type="text/javascript">
  411. //<![CDATA[
  412.     var a=['a', 'b', 'c']
  413.     document.write(typeof a); // object
  414.     document.write(a.valueOf()); // a, b, c
  415.     document.write(typeof null); // object
  416. //]]>
  417. </script>
  418.  
  419. 32.1 
  420. <script type="text/javascript">
  421. //<![CDATA[
  422.     var a=['a', 'b', 'c']
  423.     document.write(typeof a); // object
  424.     document.write(a.valueOf()); // a, b, c
  425. //]]>
  426. </script>
  427.  
  428. 31. function 函数
  429.  
  430. 31.1 三种定义函数的方法
  431. <script type="text/javascript">
  432. //<![CDATA[
  433.     function f(){ alert('function f');};
  434.     var f1=function(){ alert('function f1');};
  435.     var f2=new Function('', "alert('function f2')");
  436.     f(); f1(); f2();
  437. //]]>
  438. </script>
  439.  
  440. 31.1.1 三种定义函数的方法 1
  441. <script type="text/javascript">
  442. //<![CDATA[
  443.     var t=new Function('a', 'b', 'return a+b;')
  444.     document.write(t('ok ', 'test this'));
  445. //]]>
  446. </script>
  447.  
  448. 31.1.1.1 三种定义函数的方法 1.1
  449. <script type="text/javascript">
  450. //<![CDATA[
  451.     var t=new Function("return 'test this'")
  452.     document.write(t());
  453. //]]>
  454. </script>
  455.  
  456. 31.1.2 三种定义函数的方法 2
  457. <script type="text/javascript">
  458. //<![CDATA[
  459.     var t=function(str){return 'this test'+str};
  460.         
  461.         document.write(t(', right.'));
  462. //]]>
  463. </script>
  464.  
  465. 31.2 在标签中写函数
  466. <div onclick="javascript:var go=function(){alert(111)};go();">div 可用</div>
  467. <div onclick="go()">div1 不可用</div>
  468. <div onclick="javascript:( function(){alert(111);} )()">div2 可用</div>
  469. <div onclick="javascript:function go(){alert(111);}go();">div3 可用</div>
  470.  
  471. 31.3 创建嵌套函数
  472. <script type="text/javascript">
  473. //<![CDATA[
  474.     function level1(){
  475.         var lNm='level 1'
  476.         document.write(lNm+'<br/>');
  477.         function level2(){
  478.             var lNm='level 2'
  479.             document.write(lNm+'<br/>');
  480.         }
  481.         level2();
  482.     }
  483.     level1();
  484. //]]>
  485. </script>
  486.  
  487. 31.4 创建递归函数
  488. <%
  489.     var i=0;
  490.     function t(){
  491.         i++;
  492.         if(i<100){
  493.             Response.Write(i+'<br/>');
  494.             return t();
  495.         }
  496.         Response.Write(i+'<br/>');
  497.     }
  498.     t();
  499. %>
  500.  
  501. 31.4.1 创建递归函数 1 
  502. <script type="text/javascript">
  503. //<![CDATA[
  504.     function fctr(n){
  505.         if(n<=1)return 1;
  506.         return n*fctr(n-1);
  507.     }
  508.     document.write(fctr(4));
  509. //]]>
  510. </script>
  511.  
  512. 31.5 创建 函数对象
  513. <script type="text/javascript">
  514. //<![CDATA[
  515.     function fT(){
  516.         this.title='o test';
  517.         this.subtitle=fTt();
  518.         function fTt(){
  519.             return 'o subtitle';
  520.         }
  521.     }
  522.     var t=new fT();
  523.         document.write(t.title+'<br/>');
  524.         document.write(t.subtitle+'<br/>');
  525.     t=null;
  526. //]]>
  527. </script>
  528.  
  529. 31.6 在函数内部定义的函数只能在该函数内部调用
  530. <script type="text/javascript">
  531. //<![CDATA[
  532.     function lev1(){
  533.         document.write('lev 1<br/>');
  534.         function lev2(){
  535.             document.write('lev 2<br/>');
  536.         }    
  537.         lev2();
  538.     }
  539.     lev1();
  540.     lev2(); // 出错, 在函数内部定义的函数只能在该函数内部调用
  541.     
  542. //]]>
  543. </script>
  544.  
  545. 31.7 定义函数变量, 并赋值
  546. <script type="text/javascript">
  547. //<![CDATA[
  548.     var t=(function(str){return str+str+'<br/>';})('test this ')
  549.     document.write(t);
  550. //]]>
  551. </script>
  552.  
  553. 31.8 变量引用函数
  554. <script type="text/javascript">
  555. //<![CDATA[
  556.     function t(x){
  557.         x+='';
  558.         return x+x;
  559.     }    
  560.     document.write(t('how fun ')+'<br>'); // how fun how fun 
  561.     var u=t // u 引用 函数 t
  562.     document.write(u('how fun too ')+'<br>'); // how fun too how fun too 
  563. //]]>
  564. </script>
  565.  
  566. 31.9 在对象中存储函数, 并引用
  567. <script type="text/javascript">
  568. //<![CDATA[
  569.     var o=new Object();
  570.         o.t=function(x){x+=''; return x+x;}
  571.     var t=o.t('test this ');
  572.     document.write(t);
  573. //]]>
  574. </script>
  575.  
  576. 31.10 在数组中存储函数, 并引用
  577. <script type="text/javascript">
  578. //<![CDATA[
  579.     var a=new Array(3);
  580.         a[0]=function(x){x+='';return x+x};
  581.         a[1]='test this ';
  582.         a[2]=a[0](a[1]);
  583.         document.write(a[2]);
  584. //]]>
  585. </script>
  586.  
  587. 31.11 function.call()
  588. <script type="text/javascript">
  589. //<![CDATA[
  590.     var o=new Object();
  591.     function f(a, b){
  592.         return a+b
  593.     }
  594.     document.write(f.call(o, 1, 2));
  595. //]]>
  596. </script>
  597.  
  598. 31.12 在函数内定义的变量可以被下级内嵌函数调用 
  599. <script type="text/javascript">
  600. //<![CDATA[
  601.     function t(){
  602.         var x=" this's test ";
  603.         function u(){
  604.             document.write(x.bold());
  605.         }
  606.         u();
  607.     }
  608.     t();
  609. //]]>
  610. </script>
  611.  
  612. 30. Date()
  613.  
  614. 30.1 输出年月日, 时分秒 的日期格式
  615. <script type="text/javascript">
  616. //<![CDATA[
  617.     var $dt=new Date();
  618.     document.write('yyyy-nn-dd: '+$dt.toLocaleDateString()+'<br/>');
  619.     document.write('hh-mm-ss: '+$dt.toLocaleTimeString());
  620. //]]>
  621. </script>
  622.  
  623. 29. isNaN
  624. <script type="text/javascript">
  625. //<![CDATA[
  626.     var $str='this is string';
  627.     var $num=12.3;
  628.     //alert(isNaN($str));
  629.     alert(isNaN($num));
  630. //]]>
  631. </script>
  632.  
  633. 28. new 语法
  634.   new Boolean(false)
  635.   new Number(0)
  636.   new String("")
  637.   new Array()
  638.   new Object()
  639.   new Date();
  640.   new Error();
  641.  
  642. 27. RegExp
  643.  
  644. 27.1 普通操作 1
  645. <script type="text/javascript">
  646. //<![CDATA[
  647.     var $str='this is a test'
  648.     with(document){
  649.         write('test str is: '+$str+'<br/>');
  650.         write('$str.search(/is a/i): '+$str.search(/is a/i)+'<p/>');
  651.         
  652.         write('$str.replace(/ {1,1}/ig,"--"): '+$str.replace(/ {1,1}/ig,"--")+'<p/>');
  653.         
  654.         write('$str.match(/t[\S]{1,3}/ig): '+$str.match(/t[\S]{1,3}/ig)+'<p/>');
  655.         
  656.         var $temp=$str.match(/(t[\S]{1,3})/ig)
  657.         for ($i=0; $i<$temp.length; $i++){
  658.             write($temp[$i]+'<br/>');
  659.         }
  660.     }
  661. //]]>
  662. </script>
  663.  
  664. 27.2 test 语句
  665. <script type="text/javascript">
  666. //<![CDATA[
  667.     var $pattern=/this/i;
  668.         alert($pattern.test('this is a test'));
  669. //]]>
  670. </script>
  671.  
  672. 27.3 exec 语句
  673. <script type="text/javascript">
  674. //<![CDATA[
  675.     var $pattern=/this/ig;
  676.     var $str='this is a test, this is repeat';
  677.     var $result;
  678.     while(($result=$pattern.exec($str))!=null){
  679.         alert($result[0]+'>>> index of str: '+$result.index+' $pattern lastIndex: '+$pattern.lastIndex);
  680.     }
  681. //]]>
  682. </script>
  683.  
  684. 26. Array()
  685.  
  686. 26.0 简单创建数组, 并赋值
  687. <script type="text/javascript">
  688. //<![CDATA[
  689.     var ar=new Array();
  690.         for(var i=0; i<10; i++){
  691.             ar[i]='array '+i
  692.             document.write(ar[i]+'<br/>');
  693.         }
  694. //]]>
  695. </script>
  696.  
  697. 26.0.1 简单创建数组, 并赋值 2
  698. <script type="text/javascript">
  699. //<![CDATA[
  700.     var ar=['v1', 'v2', 'v3', 'v4', 'v5']
  701.     for(var i=0; i<ar.length; i++){
  702.         document.write(ar[i]+'<br/>');
  703.     }
  704. //]]>
  705. </script>
  706.  
  707. 26.0.2 简单创建数组
  708. <script type="text/javascript">
  709. //<![CDATA[
  710.     var ar=new Array(10);
  711.         document.write(ar.length);
  712. //]]>
  713. </script>
  714.  
  715. 26.0.3 创建数组中的数组
  716. <script type="text/javascript">
  717. //<![CDATA[
  718.     var ar=new Array('v1', 'v2', 'v3', ['v41', 'v42']);
  719.     for(var i=0; i<ar.length; i++){
  720.         document.write(ar[i].toString()+'<br/>');
  721.     }
  722. //]]>
  723. </script>
  724.  
  725. 26.0.4 创建数组中的对象
  726. <script type="text/javascript">
  727. //<![CDATA[
  728.     var ar=new Array('v1', 'v2', 'v3', {x:'v41', y:'v42'});
  729.     for(var i=0; i<ar.length; i++){
  730.         if(typeof(ar[i])=='string')
  731.         document.write(ar[i]+'<br/>');
  732.         else if(typeof(ar[i])=='object'){
  733.             document.write('object<br/>');
  734.             for(var j in ar[i]){
  735.                 document.write('obj: '+j+' obj val '+ar[i][j]+'<br/>');
  736.             }
  737.         }
  738.     }
  739. //]]>
  740. </script>
  741.  
  742. 26.1 [array].push(), [array].pop()
  743. <script type="text/javascript">
  744. //<![CDATA[
  745.     var $array=new Array('a', 'b', 'c', 'd', 'e')
  746.     
  747.     with(document){
  748.         write('source $array.join: '+$array.join()+'<br/>');
  749.         write ($array.length+'<br/>');
  750.         $array.push(1,1,1,1,1,1,1,1,1,1);
  751.         write ('$array.push(1,1,1,1,1,1,1,1,1,1),  $array.length: '+$array.length+'<br/>');
  752.         write('join $array: '+$array.join()+'<p/>');
  753.         
  754.         write ($array.length+'<br/>');
  755.         $array.push(1, 2, 3, 4, 5);
  756.         write ('$array.push(1, 2, 3, 4, 5), $array.length: '+$array.length+'<br/>');
  757.         write('join $array: '+$array.join()+'<p/>');
  758.         
  759.         write('$array.pop(): '+$array.pop()+'<br/>');
  760.         write('$array.length & $array.join(): '+$array.length+' '+$array.join()+'<p/>');
  761.         
  762.         write('$array.pop(10): '+$array.pop(10)+'<br/>');
  763.         write('$array.length & $array.join(): '+$array.length+' '+$array.join()+'<br/>');
  764.     }
  765. //]]>
  766. </script>
  767.  
  768. 26.2 数组排序
  769. <script type="text/javascript">
  770. //<![CDATA[
  771.     var a=new Array();
  772.     for (var i=0, j=1; i<10;a[i]=j, i++, j++);
  773.     
  774.     document.write('<h2>未排序前:</h2>');
  775.     document.write(a.join());
  776.     
  777.     document.write('<h2>无条件排序:</h2>');
  778.     document.write(a.sort().join());
  779.     
  780.     temp=a.sort(function(a, b){return a-b});
  781.     document.write('<h2>a-b 排序:</h2>');
  782.     document.write(temp.join());
  783.     
  784.     temp=a.sort(function(a, b){return b-a});
  785.     document.write('<h2>b-a 排序:</h2>');
  786.     document.write(temp.join());
  787. //]]>
  788. </script>
  789.  
  790. 26.3 创建数组指定维数, 从&n
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics