这些东西都非常基础,一看就懂的,有些函数的功能需要记忆下来。最近基本上吧《Javascript DOM编程艺术》看完了,关于Jquery的知识有很多不懂得地方,慢慢琢磨吧。由于没有源文件有一个综合实例没有做成,有的可以发给我一下,谢谢哈[email protected]
今天是基础知识,后面会继续更新。慢慢深入,大家一起进步,终究会有成功的那一天。尽请期待:)
1.javascript的组成部分
2.变量类型
3.对象(js里一切都是对象)
基本类型:number,string,boolean,undefined他们都很单纯,都简简单单的(这些不是对象)
复合类型:object,数组array,日期对象date,复合类型由一些基本类型复合而成,包括了一些杂七杂八的东西。
4.数据类型转换----显示转换/隐式转换
1 <script> 2 window.onload=function () 3 { 4 var oTxt1=document.getElementById('txt1'); 5 var oTxt2=document.getElementById('txt2'); 6 var oBtn=document.getElementById('btn1'); 7 8 oBtn.onclick=function () 9 { 10 alert(parseInt(oTxt1.value)+parseInt(oTxt2.value)); 11 }; 12 }; 13 </script> 14 </head> 15 16 <body> 17 <input id="txt1" type="text" /> 18 <input id="txt2" type="text" /> 19 <input id="btn1" type="button" value="求和" /> 20 </body>
优化后,如果输入的不是数值,会提示。
1 <script> 2 window.onload=function () 3 { 4 var oTxt1=document.getElementById('txt1'); 5 var oTxt2=document.getElementById('txt2'); 6 var oBtn=document.getElementById('btn1'); 7 8 oBtn.onclick=function () 9 { 10 var num=parseInt(oTxt1.value)+parseInt(oTxt2.value); 11 12 if(isNaN(num)) 13 { 14 alert('您输入的有误'); 15 } 16 else 17 { 18 alert(num); 19 } 20 }; 21 }; 22 </script>
如果在文本框输入不同的两个数字,例如2和3,那么按钮的单击事件会弹出23,而不是5,因为文本框里面的东西默认的就是字符串而不是数值型的数据。这里使用parseInt函数可以转化字符串的类型。
1 <script> 2 var a='13ab'; 3 alert(parseInt(a)); 4 </script>
准确的说,parseInt函数是提取前面的数字,如果遇到字符串就不会继续往后面去值了。
1 <script> 2 var a='ab'; 3 alert(parseInt(a)); 4 </script>
如果是这样的话,会出现NaN (not a number),也就是不是一个数字的意思。
1 <script> 2 var a='12.6'; 3 alert(parseInt(a)); 4 </script>
如果是这样的话,会弹出12这个数字,后面的小数点直接省略了。
1 <script> 2 var a='12.6'; 3 alert(parseFloat(a)); 4 </script>
parseInt的兄弟parseFloat函数。
NaN(这是个神奇的东西,他和自己也不相等,可能在某种程度上有区别吧)
JavaScript 以 NaN 的形式输出 Number.NaN。请注意,NaN 与其他数值进行比较的结果总是不相等的,包括它自身在内。因此,不能与 Number.NaN 比较来检测一个值是不是数字,而只能调用 isNaN() 来比较。
1 <script> 2 var a=parseInt('ab'); 3 var b=parseInt('ab'); 4 alert(a==b); 5 </script>
1 <script> 2 var a=parseInt('ab'); 3 var b=parseInt('ab'); 4 alert(a==b); 5 </script>
这两个的结果都是flase.以上都是属于显示转换。
隐式转换:
1 <script> 2 var a='2'; 3 var b=2; 4 alert(a==b); 5 </script>
运行结果是true。这就是一个隐式转换的例子,他会把两边的数据类型进行比较然后相加。
1 <script> 2 var a='2'; 3 var b='2'; 4 alert(a-b); 5 </script>
如果是减号那么结果是0,如果是加号结果就是22;你懂得应该。只有加法不能转化,乘除减法都可以。
关于===
全等就是不仅要内容相等,而且类型也要相等。
5.变量作用域
这里比较好理解就不解释了。闭包的知识细节还有很多,今天先到这吧,洗澡睡觉,晚安~
1 <script> 2 function aa(){ //父函数 3 var a=1; 4 function bb(){ //子函数,可以啃老。 5 alert(a); 6 }; 7 bb(); 8 }; 9 aa(); 10 </script>