说明:
一字一句都是俺敲出来的, ^^. 转载请注明出处哦.
一字一句都是俺敲出来的, ^^. 转载请注明出处哦.
前些日子, 发现好些地方需要用到 Js 代码, 以前没怎么系统的学习过, 要用到的时候查一堆一堆的手册, 写得不好不说, 还很浪费时间, 真是不划算.
这阵子下决心, 一定要把 Js 这家伙搞定, 到目前为止, 基本上对 Js 的核心部分有了个小心得.
对于 Js 的客户端功能还是停留于N久前的水平, 现在把 Core 部分搞定了, 接下来客户端想来应该不是问题...
强烈推荐以下相关资料:
1. JavaScript: The Definitive Guide, 4th Edition
这本书咱啃的是 E 文版, 真不错, 不错的地方在于作者在书中讲了许多原理, 这是真功夫呀.
2. Microsoft Windows 脚本技术
微软自家的 JScript && VBScript 手册.
目录:
1. Javascript Notes By shawl.qiu
2. Javascript 正则表达式摘要
注: Javascript 的正则表达式我另外做了一个笔记, 过段时间再与大家分享其全部内容.
shawl.qiu
2006-10-20
http://blog.csdn.net/btbtd
1. Javascript Notes By shawl.qiu
- linenum
- CREATED BY STABX, AT 2006-9-5.
- Javascript Notes By shawl.qiu
- ---/-------------------------------------------------------------
- -3.1 函数比其他代码优先执行
- -3. 优先级
- -2.4 同时初始化多个变量并赋相同值
- -2.3 在函数中使用 var 定义一个变量, 该变量将影响整个函数, 不分先后.
- -2.2 全局变量与局部变量
- -2.1.2 普通定义变量 2
- -2.1.1 普通定义变量 1
- -2.1 普通定义变量
- -2. var 定义变量
- -1.5 in 操作符
- -1.4.2 true 等价 1, false 等价 0.
- -1.4 == 与 ===
- -1.4.1 NaN
- -1.3 0/0=?
- -1.2 类型转换
- -1.1 -- 与 ++
- -1.1.1
- -1. 运算符
- 0. 语法
- 0.1 Switch
- 1. 按钮
- 1.1 前进后退按钮
- 1.2 确认按钮
- 1.3 最原始也最实用的 UBB 代码输入方法——SCRIPT & FORM
- 1.4 Prompt
- 1.5.1 鼠标经过时选中,并隐藏原框的文字, 移开再显示文字 ——文本框
- 1.5 鼠标经过时选中 ——复选框 Focus()
- 1.6 鼠标经过自动提交表单
- 2. 接收键盘事件
- 2.1 按任何键关闭窗口
- 2.2 实时显示更改的图片链接
- 3. 数组/Array
- 3.1 Javascript 结合 Asp 使用数组
- 4. 控制图片大小
- 5. 双击拷贝文本
- 6. IE 全屏显示
- 7. 文本框回车链接
- 8. 顯示頁面所有元素
- 9. 正则表达式
- 10. 接收鼠标事件
- 10.1 单击鼠标右击关闭窗口 (我用左手)
- 10.2 鼠标移过选择表单项
- 11. 字符串
- 11.1 检测字符串中是否出现某字符
- 12. 随机数
- 12.1.1 生成 GUID 2
- 12.1 生成 GUID
- 13. 时间操作
- 13.1 以毫秒为单位的倒计时跳转, 来源 CSDN
- 14. switch
- 14.1 简单 switch
- 15 if 判断
- 15.1.2 简单 if 判断 3
- 15.1.1 简单 if 判断 2
- 15.1 简单 if 判断
- 15.2 if 判断的 三个 写法
- 15.3 判断执行文件使用网络还是使用本地协议
- 15.4 if...else 写法
- 16. 简单 while
- 16. while
- 17. do while
- 17.1.2 简单 do while
- 17.1 简单 do while
- 18. for
- 18.1 简单 for
- 18.2 简单 for 1
- 18.3 循环列出从 a - z 的字母
- 18.3 n阶乘
- 18.4 Fibonacci Numbers
- 19. for in
- 19.1.1 简单 for in 1
- 19.1 简单 for in
- 19.2.1 for in 赋值 [数组] 1
- 19.2 for in 赋值 [数组]
- 20. try, catch, finally
- 20.1.1 简单 try, catch 1
- 20.1 简单 try, catch
- 21. with
- 21.1 简单with (另一写法)
- 21.1 简单 with
- 22. break, continue
- 22.1 continue
- 22.2.1 break 标签
- 22.2 break
- 23. call, apply
- 23.1.1 找出数组中最大的数
- 23.1 apply
- 24. object
- 24.1.1 创建简单对象 一
- 24.1.2 创建简单对象 二
- 24.1 创建简单对象
- 24.2.1 创建嵌套对象 1
- 24.2 创建嵌套对象
- 24.3 删除对象中的属性
- 24.4.1 遍历对象中的属性名 1
- 24.4 遍历对象中的属性名
- 24.5 obj.propertyIsEnumerable('ele')
- 24.6 obj.hasOwnProperty('ele')
- 25. toString
- 25.1 使用 toString 列出数组中的元素
- 26. Array()
- 26.0.1 简单创建数组, 并赋值 2
- 26.0 简单创建数组, 并赋值
- 26.0.3 创建数组中的数组
- 26.0.4 创建数组中的对象
- 26.0.2 简单创建数组
- 26.1 [array].push(), [array].pop()
- 26.2 数组排序
- 26.3 创建数组指定维数, 从 1 开始.
- 27. RegExp
- 27.1 普通操作 1
- 27.2 test 语句
- 27.3 exec 语句
- 28. new 语法
- 29. isNaN
- 30. Date()
- 30.1 输出年月日, 时分秒 的日期格式
- 31. function 函数
- 31.1.1.1 三种定义函数的方法 1.1
- 31.10 在数组中存储函数, 并引用
- 31.1.1 三种定义函数的方法 1
- 31.1.2 三种定义函数的方法 2
- 31.1 三种定义函数的方法
- 31.2 在标签中写函数
- 31.3 创建嵌套函数
- 31.4.1 创建递归函数 1
- 31.4 创建递归函数
- 31.5 创建 函数对象
- 31.6 在函数内部定义的函数只能在该函数内部调用
- 31.7 定义函数变量, 并赋值
- 31.8 变量引用函数
- 31.9 在对象中存储函数, 并引用
- 31.11 function.call()
- 31.12 在函数内定义的变量可以被下级内嵌函数调用
- 32. typeof 查看数据类型
- 32.1
- 33. obj.valueOf() 返回原始值
- 34. Math 对象
- 34.1.1 生成 1 至 4 的随机数
- 34.1 Math.random();
- 34.2 求 x 的 n 次方
- 35. delete
- 36. confirm() 确认框
- 36.1 带条件确认框
- 37. window.open
- 37. window
- 37.1 打开没有焦点的窗口
- 38. return 返回值
- 38.1 return true
- 38.2 return undefined
- 39. throw
- 39.1 简单产生错误
- 40. arguments
- 40.1 判断 arguments.length
- 40.2 列出所有 argument 的值
- 40.3 arguments.callee / 调用函数本身
- 41. .to******
- 41.1 toString
- 42. parseInt() / parseFolat()
- --------------------------------
- 42. parseInt() / parseFolat()
- <script type="text/javascript">
- //<![CDATA[
- var str='1.1322 this test ';
- document.write(('str like this: ').bold()+str.fontcolor('red')+'<br/>');
- document.write(('parseInt(str): ').bold()+parseInt(str)+'<br/>');
- document.write(('parseFloat(str): ').bold()+parseFloat(str)+'<br/>');
- document.write(('parseInt(1111,2): ').bold()+parseInt(1111,2)+'<br/>');
- document.write(('parseInt(1111,8): ').bold()+parseInt(1111,8)+'<br/>');
- document.write(('parseInt(1111): ').bold()+parseInt(1111)+'<br/>');
- document.write(('parseInt(1111,16): ').bold()+parseInt(1111,16)+'<br/>');
- //]]>
- </script>
- 41. .to******
- <script type="text/javascript">
- //<![CDATA[
- var num=12345.6789
- document.write(('parseInt(num): ').bold()+parseInt(num)+'<br/>');
- document.write(('num.toFixed(0): ').bold()+num.toFixed(0)+'<br/>');
- document.write(('num.toFixed(2): ').bold()+num.toFixed(2)+'<br/>');
- document.write(('num.toExponential(2): ').bold()+num.toExponential(2)+'<br/>');
- document.write(('num.toExponential(1): ').bold()+num.toExponential(1)+'<br/>');
- document.write(('num.toPrecision(1): ').bold()+num.toPrecision(1)+'<br/>');
- document.write(('num.toPrecision(2): ').bold()+num.toPrecision(2)+'<br/>');
- //]]>
- </script>
- 41.1 toString
- <script type="text/javascript">
- //<![CDATA[
- var num=123456789
- document.write(('num.toString(): ').bold()+num.toString()+'<br/>');
- document.write(('num.toString(2): ').bold()+num.toString(2)+'<br/>');
- document.write(("'0'+num.toString(8): ").bold()+'0'+num.toString(8)+'<br/>');
- document.write(("'0x'+num.toString(16): ").bold()+'0x'+num.toString(16)+'<br/>');
- //]]>
- </script>
- 40. arguments
- 40.1 判断 arguments.length
- <script type="text/javascript">
- //<![CDATA[
- function t(a, b, c, d){
- if(arguments.length!=4)document.write(('error! argument must be 4 element.').fontcolor('red')+' current arguments length: '+arguments.length+'<br/>');
- else document.write(('this right: '+arguments.length).bold()+' arguments<br/>');
- }
- t();
- t('a', 'b', 'c', 'd');
- t('a', 'b', 'c', 'd', 'e');
- //]]>
- </script>
- 40.2 列出所有 argument 的值
- <script type="text/javascript">
- //<![CDATA[
- function t(){
- for(var i=0; i<arguments.length; i++){
- document.write(('arguments['+i+']').bold()+' = '+arguments[i].fontcolor('red')+'<br/>');
- }
- }
- var temp='test';
- t('aaa', 'bbb', 'ccc', 'ddd', 'eee', temp);
- //]]>
- </script>
- 40.3 arguments.callee / 调用函数本身
- <script type="text/javascript">
- //<![CDATA[
- var t=function(x){
- document.write(x+'<br/>');
- if(x>1){
- arguments.callee(x-1);
- }
- }
- t(10);
- //]]>
- </script>
- 39. throw
- 39.1 简单产生错误
- <script type="text/javascript">
- //<![CDATA[
- t(10);
- t();
- function t(x){
- if(typeof x==='undefined')throw new Error('x must be own a value');
- document.write(x);
- }
- //]]>
- </script>
- 38. return 返回值
- 38.1 return true
- <script type="text/javascript">
- //<![CDATA[
- function t(ipt){
- window.status=ipt;
- return true;
- }
- t('test this');
- //]]>
- </script>
- 38.2 return undefined
- <script type="text/javascript">
- //<![CDATA[
- function t(t){
- if(t==null)return;
- }
- document.write(t()); // undefined
- //]]>
- </script>
- 37. window
- 37. window.open
- 37.1 打开没有焦点的窗口
- <script type="text/javascript">
- //<![CDATA[
- var w=window.open('/')
- w.blur();
- window.focus();
- //]]>
- </script>
- 36. confirm() 确认框
- 36.1 带条件确认框
- <script type="text/javascript">
- //<![CDATA[
- var x=confirm('what doing with you')
- if(x){alert('ok')}else alert('good choice');
- //]]>
- </script>
- 35. delete
- <script type="text/javascript">
- //<![CDATA[
- var t={i:'ok', j:'ok too'}
- document.write(delete t.i); // true
- document.write('<br/>');
- document.write(delete t); // false 不能删除 使用 var 定义的变量或对象
- document.write('<br/>');
- document.write(delete n); // true 删除不存在的元素.
- document.write('<br/>');
- document.write(delete j); // true
- document.write('<br/>');
- //]]>
- </script>
- 34. Math 对象
- 34.1 Math.random();
- 34.1.1 生成 1 至 4 的随机数
- <script type="text/javascript">
- //<![CDATA[
- document.write(parseInt(Math.random()*4+1)+'<br/>');
- //]]>
- </script>
- 34.2 求 x 的 n 次方
- <script type="text/javascript">
- //<![CDATA[
- document.write(Math.pow(2,10));
- //]]>
- </script>
- 33. obj.valueOf() 返回原始值
- <script type="text/javascript">
- //<![CDATA[
- var a=1, b='test', c=false, d=new Object();
- document.write(a.valueOf()+'<br/>'); // 1
- document.write(b.valueOf()+'<br/>'); // test
- document.write(c.valueOf()+'<br/>'); // false
- document.write(d.valueOf()+'<br/>'); // [object Object]
- //]]>
- </script>
- 32. typeof 查看数据类型
- <script type="text/javascript">
- //<![CDATA[
- var a=['a', 'b', 'c']
- document.write(typeof a); // object
- document.write(a.valueOf()); // a, b, c
- document.write(typeof null); // object
- //]]>
- </script>
- 32.1
- <script type="text/javascript">
- //<![CDATA[
- var a=['a', 'b', 'c']
- document.write(typeof a); // object
- document.write(a.valueOf()); // a, b, c
- //]]>
- </script>
- 31. function 函数
- 31.1 三种定义函数的方法
- <script type="text/javascript">
- //<![CDATA[
- function f(){ alert('function f');};
- var f1=function(){ alert('function f1');};
- var f2=new Function('', "alert('function f2')");
- f(); f1(); f2();
- //]]>
- </script>
- 31.1.1 三种定义函数的方法 1
- <script type="text/javascript">
- //<![CDATA[
- var t=new Function('a', 'b', 'return a+b;')
- document.write(t('ok ', 'test this'));
- //]]>
- </script>
- 31.1.1.1 三种定义函数的方法 1.1
- <script type="text/javascript">
- //<![CDATA[
- var t=new Function("return 'test this'")
- document.write(t());
- //]]>
- </script>
- 31.1.2 三种定义函数的方法 2
- <script type="text/javascript">
- //<![CDATA[
- var t=function(str){return 'this test'+str};
- document.write(t(', right.'));
- //]]>
- </script>
- 31.2 在标签中写函数
- <div onclick="javascript:var go=function(){alert(111)};go();">div 可用</div>
- <div onclick="go()">div1 不可用</div>
- <div onclick="javascript:( function(){alert(111);} )()">div2 可用</div>
- <div onclick="javascript:function go(){alert(111);}go();">div3 可用</div>
- 31.3 创建嵌套函数
- <script type="text/javascript">
- //<![CDATA[
- function level1(){
- var lNm='level 1'
- document.write(lNm+'<br/>');
- function level2(){
- var lNm='level 2'
- document.write(lNm+'<br/>');
- }
- level2();
- }
- level1();
- //]]>
- </script>
- 31.4 创建递归函数
- <%
- var i=0;
- function t(){
- i++;
- if(i<100){
- Response.Write(i+'<br/>');
- return t();
- }
- Response.Write(i+'<br/>');
- }
- t();
- %>
- 31.4.1 创建递归函数 1
- <script type="text/javascript">
- //<![CDATA[
- function fctr(n){
- if(n<=1)return 1;
- return n*fctr(n-1);
- }
- document.write(fctr(4));
- //]]>
- </script>
- 31.5 创建 函数对象
- <script type="text/javascript">
- //<![CDATA[
- function fT(){
- this.title='o test';
- this.subtitle=fTt();
- function fTt(){
- return 'o subtitle';
- }
- }
- var t=new fT();
- document.write(t.title+'<br/>');
- document.write(t.subtitle+'<br/>');
- t=null;
- //]]>
- </script>
- 31.6 在函数内部定义的函数只能在该函数内部调用
- <script type="text/javascript">
- //<![CDATA[
- function lev1(){
- document.write('lev 1<br/>');
- function lev2(){
- document.write('lev 2<br/>');
- }
- lev2();
- }
- lev1();
- lev2(); // 出错, 在函数内部定义的函数只能在该函数内部调用
- //]]>
- </script>
- 31.7 定义函数变量, 并赋值
- <script type="text/javascript">
- //<![CDATA[
- var t=(function(str){return str+str+'<br/>';})('test this ')
- document.write(t);
- //]]>
- </script>
- 31.8 变量引用函数
- <script type="text/javascript">
- //<![CDATA[
- function t(x){
- x+='';
- return x+x;
- }
- document.write(t('how fun ')+'<br>'); // how fun how fun
- var u=t // u 引用 函数 t
- document.write(u('how fun too ')+'<br>'); // how fun too how fun too
- //]]>
- </script>
- 31.9 在对象中存储函数, 并引用
- <script type="text/javascript">
- //<![CDATA[
- var o=new Object();
- o.t=function(x){x+=''; return x+x;}
- var t=o.t('test this ');
- document.write(t);
- //]]>
- </script>
- 31.10 在数组中存储函数, 并引用
- <script type="text/javascript">
- //<![CDATA[
- var a=new Array(3);
- a[0]=function(x){x+='';return x+x};
- a[1]='test this ';
- a[2]=a[0](a[1]);
- document.write(a[2]);
- //]]>
- </script>
- 31.11 function.call()
- <script type="text/javascript">
- //<![CDATA[
- var o=new Object();
- function f(a, b){
- return a+b
- }
- document.write(f.call(o, 1, 2));
- //]]>
- </script>
- 31.12 在函数内定义的变量可以被下级内嵌函数调用
- <script type="text/javascript">
- //<![CDATA[
- function t(){
- var x=" this's test ";
- function u(){
- document.write(x.bold());
- }
- u();
- }
- t();
- //]]>
- </script>
- 30. Date()
- 30.1 输出年月日, 时分秒 的日期格式
- <script type="text/javascript">
- //<![CDATA[
- var $dt=new Date();
- document.write('yyyy-nn-dd: '+$dt.toLocaleDateString()+'<br/>');
- document.write('hh-mm-ss: '+$dt.toLocaleTimeString());
- //]]>
- </script>
- 29. isNaN
- <script type="text/javascript">
- //<![CDATA[
- var $str='this is string';
- var $num=12.3;
- //alert(isNaN($str));
- alert(isNaN($num));
- //]]>
- </script>
- 28. new 语法
- new Boolean(false)
- new Number(0)
- new String("")
- new Array()
- new Object()
- new Date();
- new Error();
- 27. RegExp
- 27.1 普通操作 1
- <script type="text/javascript">
- //<![CDATA[
- var $str='this is a test'
- with(document){
- write('test str is: '+$str+'<br/>');
- write('$str.search(/is a/i): '+$str.search(/is a/i)+'<p/>');
- write('$str.replace(/ {1,1}/ig,"--"): '+$str.replace(/ {1,1}/ig,"--")+'<p/>');
- write('$str.match(/t[\S]{1,3}/ig): '+$str.match(/t[\S]{1,3}/ig)+'<p/>');
- var $temp=$str.match(/(t[\S]{1,3})/ig)
- for ($i=0; $i<$temp.length; $i++){
- write($temp[$i]+'<br/>');
- }
- }
- //]]>
- </script>
- 27.2 test 语句
- <script type="text/javascript">
- //<![CDATA[
- var $pattern=/this/i;
- alert($pattern.test('this is a test'));
- //]]>
- </script>
- 27.3 exec 语句
- <script type="text/javascript">
- //<![CDATA[
- var $pattern=/this/ig;
- var $str='this is a test, this is repeat';
- var $result;
- while(($result=$pattern.exec($str))!=null){
- alert($result[0]+'>>> index of str: '+$result.index+' $pattern lastIndex: '+$pattern.lastIndex);
- }
- //]]>
- </script>
- 26. Array()
- 26.0 简单创建数组, 并赋值
- <script type="text/javascript">
- //<![CDATA[
- var ar=new Array();
- for(var i=0; i<10; i++){
- ar[i]='array '+i
- document.write(ar[i]+'<br/>');
- }
- //]]>
- </script>
- 26.0.1 简单创建数组, 并赋值 2
- <script type="text/javascript">
- //<![CDATA[
- var ar=['v1', 'v2', 'v3', 'v4', 'v5']
- for(var i=0; i<ar.length; i++){
- document.write(ar[i]+'<br/>');
- }
- //]]>
- </script>
- 26.0.2 简单创建数组
- <script type="text/javascript">
- //<![CDATA[
- var ar=new Array(10);
- document.write(ar.length);
- //]]>
- </script>
- 26.0.3 创建数组中的数组
- <script type="text/javascript">
- //<![CDATA[
- var ar=new Array('v1', 'v2', 'v3', ['v41', 'v42']);
- for(var i=0; i<ar.length; i++){
- document.write(ar[i].toString()+'<br/>');
- }
- //]]>
- </script>
- 26.0.4 创建数组中的对象
- <script type="text/javascript">
- //<![CDATA[
- var ar=new Array('v1', 'v2', 'v3', {x:'v41', y:'v42'});
- for(var i=0; i<ar.length; i++){
- if(typeof(ar[i])=='string')
- document.write(ar[i]+'<br/>');
- else if(typeof(ar[i])=='object'){
- document.write('object<br/>');
- for(var j in ar[i]){
- document.write('obj: '+j+' obj val '+ar[i][j]+'<br/>');
- }
- }
- }
- //]]>
- </script>
- 26.1 [array].push(), [array].pop()
- <script type="text/javascript">
- //<![CDATA[
- var $array=new Array('a', 'b', 'c', 'd', 'e')
- with(document){
- write('source $array.join: '+$array.join()+'<br/>');
- write ($array.length+'<br/>');
- $array.push(1,1,1,1,1,1,1,1,1,1);
- write ('$array.push(1,1,1,1,1,1,1,1,1,1), $array.length: '+$array.length+'<br/>');
- write('join $array: '+$array.join()+'<p/>');
- write ($array.length+'<br/>');
- $array.push(1, 2, 3, 4, 5);
- write ('$array.push(1, 2, 3, 4, 5), $array.length: '+$array.length+'<br/>');
- write('join $array: '+$array.join()+'<p/>');
- write('$array.pop(): '+$array.pop()+'<br/>');
- write('$array.length & $array.join(): '+$array.length+' '+$array.join()+'<p/>');
- write('$array.pop(10): '+$array.pop(10)+'<br/>');
- write('$array.length & $array.join(): '+$array.length+' '+$array.join()+'<br/>');
- }
- //]]>
- </script>
- 26.2 数组排序
- <script type="text/javascript">
- //<![CDATA[
- var a=new Array();
- for (var i=0, j=1; i<10;a[i]=j, i++, j++);
- document.write('<h2>未排序前:</h2>');
- document.write(a.join());
- document.write('<h2>无条件排序:</h2>');
- document.write(a.sort().join());
- temp=a.sort(function(a, b){return a-b});
- document.write('<h2>a-b 排序:</h2>');
- document.write(temp.join());
- temp=a.sort(function(a, b){return b-a});
- document.write('<h2>b-a 排序:</h2>');
- document.write(temp.join());
- //]]>
- </script>
- 26.3 创建数组指定维数, 从 1 开始.
- <script type="text/javascript">
- //<![CDATA[
- var a=new Array(3);
- document.write((a.length+'').bold()+'<br/>');
- for(var i=0; i<a.length; i++){
- document.write(i+'<br/>');
- }
- //]]>
- </script>
- 25. toString
- 25.1 使用 toString 列出数组中的元素
- <script type="text/javascript">
- //<![CDATA[
- var $array=new Array('a', 'a1', 'a2');
- alert($array.toString());
- //]]>
- </script>
- 24. object
- 24.1 创建简单对象
- <script type="text/javascript">
- //<![CDATA[
- var $obj=new Object();
- $obj={$title:"object example", $date:Date()}
- alert($obj.$date);
- //]]>
- </script>
- 24.1.1 创建简单对象 一
- <script type="text/javascript">
- //<![CDATA[
- var cnt=new Object();
- cnt.title='title this';
- cnt.content='content this'
- cnt.date='the publishing date of '+Date();
- document.write('title: '+cnt.title+'<br/>cnt.content: '+cnt.content+'<br/>cnt.date: '+cnt.date);
- //]]>
- </script>
- 24.1.2 创建简单对象 二
- <script type="text/javascript">
- //<![CDATA[
- var cnt={
- title:'title this',
- content:'content this',
- date:'the publishing date of '+Date()
- }
- document.write('title: '+cnt.title+'<br/>cnt.content: '+cnt.content+'<br/>cnt.date: '+cnt.date);
- //]]>
- </script>
- 24.2 创建嵌套对象
- <script type="text/javascript">
- //<![CDATA[
- var cnt={
- title:{
- headertitle:'header title',
- subtitle:'subtitle this'
- },
- content:'content this',
- date:'the publishing date of '+new Date().toLocaleString()
- }
- document.write('title: '+cnt.title.headertitle.bold().fontcolor('red')+
- '<br/>cnt.title.subtitle: '+cnt.title.subtitle.fontcolor('blue')+
- '<br/>cnt.content: '+cnt.content.fontcolor('goldenrod')+
- '<br/>cnt.date: '+cnt.date);
- //]]>
- </script>
- 24.2.1 创建嵌套对象 1
- <script type="text/javascript">
- //<![CDATA[
- var o=new Object();
- o.title=' this title ';
- o.content=' this content';
- o.lve=new Object();
- o.lve.title=' this o.lve title';
- o.lve.content=' this o.lve content';
- document.write('o.title: '+o.title.bold()+'<br/>');
- document.write('o.content: '+o.content.bold()+'<br/>');
- document.write('o.lve.title: '+o.lve.title.bold()+'<br/>');
- document.write('o.lve.content: '+o.lve.content.bold()+'<br/>');
- //]]>
- </script>
- 24.3 删除对象中的属性
- <script type="text/javascript">
- //<![CDATA[
- var $obj=new Object();
- $obj={$title:"object example", $date:Date()}
- //alert($obj.$date);
- var $name="";
- for(name in $obj)$name+=name+'\n';
- alert($name);
- delete $obj.$date
- var $name="";
- for(name in $obj)$name+=name+'\n';
- alert($name);
- //]]>
- </script>
- 24.4 遍历对象中的属性名
- <script type="text/javascript">
- //<![CDATA[
- var $obj=new Object();
- $obj={$title:"object example", $date:Date()}
- //alert($obj.$date);
- var $name="";
- for(name in $obj)$name+=name+'\n';
- alert($name);
- //]]>
- </script>
- 24.4.1 遍历对象中的属性名 1
- <script type="text/javascript">
- //<![CDATA[
- var o=new Object();
- o.title=' this title ';
- o.content=' this content';
- o.lve=new Object();
- o.lve.title=' this o.lve title';
- o.lve.content=' this o.lve content';
- for (var i in o){
- if(typeof o[i]!=='object'){
- document.write('object o, element: '+i.fontcolor('red')+' value: '+o[i].bold()+'<br/>');
- } else {
- document.write('object '+i+' element<br/>');
- for(var j in o[i]){
- document.write('subobject element :'+j.fontcolor('red')+
- ' subobject value: '+o[i][j].bold()+'<br/>');
- }
- }
- }
- //]]>
- </script>
- 24.5 obj.propertyIsEnumerable('ele')
- <script type="text/javascript">
- //<![CDATA[
- var d=new Date();
- d.x='test';
- var s=new String();
- var o=new Object();
- var f=new Function('thest')
- document.write(d.propertyIsEnumerable('x'));
- document.write(d.propertyIsEnumerable('y'));
- //]]>
- </script>
- 24.6 obj.hasOwnProperty('ele')
- <script type="text/javascript">
- //<![CDATA[
- var d=new Date();
- d.x='test';
- var s=new String();
- var o=new Object();
- var f=new Function('thest')
- document.write(d.hasOwnProperty('x'));
- document.write(d.hasOwnProperty('y'));
- //]]>
- </script>
- 23. call, apply
- 23.1 apply
- 23.1.1 找出数组中最大的数
- <script type="text/javascript">
- //<![CDATA[
- $array=new Array(2, 9, 12, 33, 2, 4444, 22)
- var $temp=Math.max.apply(null, $array)
- alert($temp)
- //]]
- </script>
- 22. break, continue
- 22.1 continue
- <script type="text/javascript">
- //<![CDATA[
- for (var $i=0; $i<10; $i++){
- if($i==5){continue;}
- document.write ($i+'<br/>')
- }
- //]]>
- </script>
- 22.2 break
- 22.2.1 break 标签
- <script type="text/javascript">
- //<![CDATA[
- //document.write('<xmp>');
- outerloop:
- for (var i=0; i<10; i++){
- document.writeln(('outerloop:'+i).bold()+'<br/>')
- innerloop:
- for(var j=0; j<10; j++){;
- if(i==5)break outerloop;
- if(j==9)break innerloop;
- document.writeln(('innerloop: '+j).fontcolor('blue')+'<br/>');
- }
- }
- //document.write('</xmp>');
- //]]>
- </script>
- 21. with
- 21.1 简单 with
- <script type="text/javascript">
- //<![CDATA[
- with(document){
- write('ok');
- }
- //]]>
- </script>
- 21.1 简单with (另一写法)
- var $dw=document
- $dw.write('ok this a test');
- 20. try, catch, finally
- 20.1 简单 try, catch
- try{
- 5*kkk
- }
- catch(e){
- alert(e)
- }
- 20.1.1 简单 try, catch 1
- <script type="text/javascript">
- //<![CDATA[
- document.write('<h2>window object:</h2>');
- for(var i in window){
- try{
- document.write(i.bold()+' '+(window[i]+'').fontcolor('blue')+'<br/>');
- } catch (e) {
- document.write(i.fontcolor('red').bold()+': ');
- document.write(e.description.fontcolor('red')+'<br/>');
- }
- }
- //]]>
- </script>
- 19. for in
- 19.1 简单 for in
- <script type="text/javascript">
- //<![CDATA[
- /* document.write('<h2>top object:</h2>');
- for(var i in top){
- try{
- document.write(i.bold()+' '+(top[i]+'').fontcolor('blue')+'<br/>');
- } catch (e) {
- document.write(i.fontcolor('red').bold()+': ');
- document.write(e.description.fontcolor('red')+'<br/>');
- }
- }
- document.write('<h2>parent object:</h2>');
- for(var i in parent){
- try{
- document.write(i.bold()+' '+(parent[i]+'').fontcolor('blue')+'<br/>');
- } catch (e) {
- document.write(i.fontcolor('red').bold()+': ');
- document.write(e.description.fontcolor('red')+'<br/>');
- }
- }
- document.write('<h2>screen object:</h2>');
- for(var i in screen){
- try{
- document.write(i.bold()+' '+(screen[i]+'').fontcolor('blue')+'<br/>');
- } catch (e) {
- document.write(i.fontcolor('red').bold()+': ');
- document.write(e.description.fontcolor('red')+'<br/>');
- }
- }
- */
- try{
- document.write('<h2>clipboardData object:</h2>');
- for(var i in clipboardData){
- try{
- document.write(i.bold()+' '+(clipboardData[i]+'').fontcolor('blue')+'<br/>');
- } catch (e) {
- document.write(i.fontcolor('red').bold()+': ');
- document.write(e.description.fontcolor('red')+'<br/>');
- }
- }
- } catch(ex) {
- document.write((ex+'').fontcolor('red'));
- }
- document.write('<h2>window object:</h2>');
- for(var i in window){
- try{
- document.write(i.bold()+' '+(window[i]+'').fontcolor('blue')+'<br/>');
- } catch (e) {
- document.write(i.fontcolor('red').bold()+': ');
- document.write(e.description.fontcolor('red')+'<br/>');
- }
- }
- /*
- document.write('<h2>Option object:</h2>');
- for(var i in Option){
- try{
- document.write(i.bold()+' '+(Option[i]+'').fontcolor('blue')+'<br/>');
- } catch (e) {
- document.write(i.fontcolor('red').bold()+': ');
- document.write(e.description.fontcolor('red')+'<br/>');
- }
- }
- */
- document.write('<h2>frames object:</h2>');
- for(var i in frames){
- try{
- document.write(i.bold()+' '+(frames[i]+'').fontcolor('blue')+'<br/>');
- } catch (e) {
- document.write(i.fontcolor('red').bold()+': ');
- document.write(e.description.fontcolor('red')+'<br/>');
- }
- }
- /*
- document.write('<h2>self object:</h2>');
- for(var i in self){
- try{
- document.write(i.bold()+' '+(self[i]+'').fontcolor('blue')+'<br/>');
- } catch (e) {
- document.write(i.fontcolor('red').bold()+': ');
- document.write(e.description.fontcolor('red')+'<br/>');
- }
- }
- */
- document.write('<h2>document object:</h2>');
- for(var i in document){
- document.write(i.bold()+' '+(document[i]+'').fontcolor('blue')+'<br/>');
- }
- document.write('<h2>history object:</h2>');
- for(var i in history){
- try{
- document.write(i.bold()+' '+(history[i]+'').fontcolor('blue')+'<br/>');
- } catch (e) {
- document.write(i.fontcolor('red').bold()+': ');
- document.write(e.description.fontcolor('red')+'<br/>');
- }
- }
- /*
- document.write('<h2>Image object:</h2>');
- for(var i in Image){
- try{
- document.write(i.bold()+' '+(Image[i]+'').fontcolor('blue')+'<br/>');
- } catch (e) {
- document.write(i.fontcolor('red').bold()+': ');
- document.write(e.description.fontcolor('red')+'<br/>');
- }
- }
- */
- document.write('<h2>navigator object:</h2>');
- for(var i in navigator){
- try{
- document.write(i.bold()+' '+(navigator[i]+'').fontcolor('blue')+'<br/>');
- } catch (e) {
- document.write(i.fontcolor('red').bold()+': ');
- document.write(e.description.fontcolor('red')+'<br/>');
- }
- }
- document.write('<h2>location object:</h2>');
- for(var i in location){
- document.write(i.bold()+' '+(location[i]+'').fontcolor('blue')+'<br/>');
- }
- //]]>
- </script>
- 19.1.1 简单 for in 1
- for (var $i in window){
- document.write($i+'<br/>');
- }
- 19.2 for in 赋值 [数组]
- var $array=new Array();
- var i=0;
- for ($array[i++] in window){
- //document.write($i+'<br/>');
- }
- alert($array[0]);
- 19.2.1 for in 赋值 [数组] 1
- <script type="text/javascript">
- //<![CDATA[
- var o={a:'aaa', b:'bbb', c:'ccc'};
- var a=new Array();
- var i=0;
- for(a[i++] in o)document.write(a[i-1]);
- //for(i in a)document.write(a[i]);
- //]]>
- </script>
- 18. for
- 18.1 简单 for
- for (var $i=0; $i<10; $i++) {
- document.write($i)
- }
- 18.2 简单 for 1
- for (var $i=0, $j=10; $i<10; $i++, $j--) {
- document.write(($i*$j)+'<br/>')
- }
- 18.3 循环列出从 a - z 的字母
- <script type="text/javascript">
- //<![CDATA[
- for(var $i='a'.charCodeAt(); $i<='z'.charCodeAt(); $i++){
- document.write(String.fromCharCode($i)+'<br/>')
- }
- //]]>
- </script>
- 18.3 n阶乘
- <script type="text/javascript">
- //<![CDATA[
- var $fN=10
- for (var $i=1, $j=1; $i<=$fN; $i++, $j*=$i){
- if($i==$fN){document.write($j);}
- }
- //]]>
- </script>
- 18.4 Fibonacci Numbers
- <script type="text/javascript">
- //<![CDATA[
- for(var $i=0, $j=1, $k=0, $fbcc=0; $i<50; $i++){
- document.write($i+'='+$fbcc+'<br/>');
- $fbcc=$j+$k;
- $j=$k;
- $k=$fbcc;
- }
- //]]>
- </script>
- 17. do while
- 17.1 简单 do while
- var $count=0
- do{
- document.write($count)
- } while(++$count<10)
- 17.1.2 简单 do while
- var $count=1
- do{
- document.write($count)
- } while($count++<10)
- 16. while
- 16. 简单 while
- var $count=0
- while($count<10){ document.write($count);$count++;}
- 15 if 判断
- 15.1 简单 if 判断
- function ubbTag(fId, str){
- document.getElementById(fId).content.focus();
- var strEnd=str.replace(/\[/ig,'[/')
- if (strEnd.indexOf('=')>-1){ strEnd=strEnd.replace(/(.*?)\=.*?\]/,'$1]') }
- if((document.selection)&&(document.selection.type== "Text")){
- var oStr=document.selection.createRange();
- oStr.text=str+oStr.text+strEnd
- } else {
- document.getElementById(fId).content.value+=str+strEnd
- }
- }
- 15.1.1 简单 if 判断 2
- <script type="text/javascript">
- //<![CDATA[
- var i=0, j=1;
- i>j?j+=i:i+=j;
- document.write(i+' '+j);
- //]]>
- </script>
- 15.1.2 简单 if 判断 3
- <script type="text/javascript">
- //<![CDATA[
- if(!cdti||cdti=='')var cdti='test this';
- document.write(cdti);
- //]]>
- </script>
- 15.2 if 判断的 三个 写法
- <script type="text/javascript">
- //<![CDATA[
- var a=b=5, c=6
- if(a==b)document.write('a equal b <br/>');
- (a==b)&&document.write('a equal b <br/>');
- a==b?document.write('a equal b <br/>'):'';
- //]]>
- </script>
- 15.3 判断执行文件使用网络还是使用本地协议
- <script type="text/javascript">
- //<![CDATA[
- if(location.protocol=='file:'){
- alert('local')
- } else alert('internet');
- //]]>
- </script>
- 15.4 if...else 写法
- <script type="text/javascript">
- //<![CDATA[
- //var i=0
- var i=1
- if(i==0)document.write('i=0');
- else document.write('i!=0');
- //]]>
- </script>
- 14. switch
- 14.1 简单 switch
- /* switch(strEnd){
- case '\[\/html]' :strEnd=strEnd.replace(/\\[\/,'HTML 和 JS 代码支持[');break;
- case '\[\/code]' :strEnd=strEnd.replace(/\\[\/,'代码[');break;
- case '\[\/quote]' :strEnd=strEnd.replace(/\\[\/,'引用[');break;
- case '\[\/cite]' :strEnd=strEnd.replace(/\\[\/,'引用[');break;
- case '\[\/linenum]' :strEnd=strEnd.replace(/\\[\/,'显示行号[');break;
- case '\[\/b]' :strEnd=strEnd.replace(/\\[\/,'粗体[');break;
- case '\[\/i]' :strEnd=strEnd.replace(/\\[\/,'叙体[');break;
- case '\[\/u]' :strEnd=strEnd.replace(/\\[\/,'下划线[');break;
- case '\[\/flash]' :strEnd=strEnd.replace(/\\[\/,'Flash 动画[');break;
- case '\[\/sound]' :strEnd=strEnd.replace(/\\[\/,'背景声音[');break;
- case '\[\/mms]' :strEnd=strEnd.replace(/\\[\/,'WM格式流数据[');break;
- case '\[\/rtsp]' :strEnd=strEnd.replace(/\\[\/,'Real格式流数据[');break;
- case '\[\/ra]' :strEnd=strEnd.replace(/\\[\/,'在线Real Player播放音频文件[');break;
- case '\[\/real]' :strEnd=strEnd.replace(/\\[\/,'Real Player 播放视频文件[');break;
- case '\[\/wm]' :strEnd=strEnd.replace(/\\[\/,'在线Windows Media Player播放视频文件[');break;
- case '\[\/wma]' :strEnd=strEnd.replace(/\\[\/,'在线Windows Media Player播放音频文件[');break;
- case '\[\/iframe]' :strEnd=strEnd.replace(/\\[\/,'插入网页[');break;
- } */
- 13. 时间操作
- 13.1 以毫秒为单位的倒计时跳转, 来源 CSDN
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <script type="text/javascript">
- //<![CDATA[
- var go=20000;
- var timer=null;
- var endTime = new Date().getTime() + go ;
- function interval()
- {
- var n=(endTime-new Date().getTime())/1000;
- if(n<0) return;
- document.getElementById("jumpTo").innerHTML = n.toFixed(3);
- setTimeout(interval, 10);
- }
- window.onload=function(){
- timer=setTimeout("window.location.href='/'", go);
- interval();
- }
- //]]>
- </script>
- <span id="jumpTo">20.000</span> 秒后 将自动</span>跳转到
- 12. 随机数
- 12.1 生成 GUID
- <!--start 12.1-->
- <html>
- <!-- DW6 -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>Untitled Document</title>
- <script>
- function fGuid()
- {
- var g ="";
- for(var i = 0; i < 32; i++)
- g += Math.floor(Math.random() * 0xF).toString(0xF) + (i == 8 || i == 12 || i == 16 || i == 20 ? "-" : "");
- alert(g.toUpperCase());
- }
- </script>
- </head>
- <body onLoad="fGuid();">
- </body>
- </html>
- <!--end 12.1-->
- 12.1.1 生成 GUID 2
- <!--start 12.1.1 -->
- <html>
- <!-- DW6 -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>Untitled Document</title>
- <script>
- function fGuid() {
- var g ="";
- for(var i = 0; i < 32; i++)
- g += Math.floor(Math.random() * 0xF).toString(0xF) + (i == 8 || i == 12 || i == 16 || i == 20 ? "-" : "");
- //alert(g.toUpperCase());
- return g.toUpperCase();
- }
- </script>
- </head>
- <body>
- <form name="form1" method="post" action="">
- <input name="textfield" type="text" onMouseMove="this.value=fGuid();" size="50">
- </form>
- </body>
- </html>
- <!--end 12.1.1 -->
- 11.1 检测字符串中是否出现某字符
- <script>
- function test(str) {
- if(str.indexOf("|")>0) {
- alert("