JavaScript基础

来源:互联网 发布:geogebra mac 编辑:程序博客网 时间:2024/06/01 14:47

JavaScript基础 01


JavaScript组成
·ECMAScript:  解释器  作用:翻译   JS核心部分
·DOM:   Document Object Model       HTML 就是Document  操作HTML的能力
    文档    对象   模型
·BOM:   Browser Object Model       浏览器       window
ECMA    几乎没有兼容性问题
DOM 有一些操作不兼容
BOM 没有兼容问题(完全不兼容)

显示类型转换(强制类型转换)
·type of :查询是什么类型
·字符串转整数 : parseInt()  转到第一个不是数字就停止
·字符串转小数 : parseFloat() 不知道是整数或者小数就用这个
·NaN :Not a Number  任何数字加NaN都等与NaN    NaN和NaN不相等
·isNaN () 判断一个东西是不是NaN

例子:求和

<script>window.onload=function(){var oTxt1 = document.getElementById('Txt1');var oTxt2 = document.getElementById('Txt2');var oBtn = document.getElementById('Btn1');oBtn.onclick=function(){//字符串转整数 : parseInt()  转到第一个不是数字就停止//字符串转小数 : parseFloat() 不知道是整数或者小数就用这个 转到第一个不是数字就停止//把文本框1、2的值系先转换成整数,在分别赋值给i,k ,方便计算var i = parseInt(oTxt1.value);var k = parseInt(oTxt2.value);、
if (isNaN(oTxt1.value)){alert('您输入的不是数字,请重新输入');}else if(isNaN(oTxt2.value)){alert('您输入的不是数字,请重新输入');}else {alert(i+k);}};};</script></head><body><input id="Txt1" type="text"  /><input id="Txt2" type="text"  /><input id="Btn1" type="button" value="求和" /></body>

隐式类型转换
· == :先转换类型,然后比较
· === :不转换类型,直接比较
· - :先转换类型,然后计算
· +:用途 1.字符串连接   2.数字相加   计算机选择1

变量作用域
·局部变量:只能在定义它的函数用
·全局变量:在任何地方都能用
·闭包:子函数可以使用父函数的局部变量


命名规范及必要性
·可读性---能看懂
·规范性---符合规则:匈牙利命名法 1.类型前缀 (变量用;函数取名不需要) 2.首字母大写(每个单词首字母大写)


JavaScript基础02


运算符    
·%:求模(求余数) 例子:隔行变色、秒转分
·i=i+1 、 i+=1 相同
·== 、 === 、 != 、!== 的隐式类型转换
·与 && 并且 、 或 || 或者 、 否!

隔行变色

window.onload=function(){var aLi=document.getElementsByTagName('li');for(var i=0;i<aLi.length;i++){if(i%2==0){aLi[i].style.background='gray';}else{aLi[i].style.background='';}}}</script>
秒转分

<script>window.onload=function(){var i = 189;alert(parseInt(i/60)+'分'+i%60+'秒');}</script>



程序流程控制
·else if的使用, 一个if可以有无数个 else is  但是只能有一个else
·switch(变量)
{
 case 值1;
语句1
break;
 case 值2;
语句2
break;
 .....
 default:
语句n;
}
break:打破,中断 (整个循环中断);continue:继续(本次循环中断);
·三目(三元)运算符:?:   例子:
if(条件1)
{
语句1 
}
else{
语句2
 }  

三目运算符表示:   条件 ? 语句1 :语句2

switch实例

<script>window.onload=function(){var name='abc';var sex='女';switch(sex){case '男':alert('欢迎您'+name+'先生');break;case '女':alert('欢迎您'+name+'女士');break;default:alert('欢迎您'+name);}}</script>

三目运算符使用

<script>var a = 16;if(a%2==0){alert('双数');}else{alert('单数');}a%2==0?alert('双数'):alert('单数');</script>

·什么是真什么是假 :
真:true 、非零、非空字符串、非空对象
假:false、数字零、空字符串、空对象、undefined


·Json 
和数组相似、没有length、下标是字符串、for in循环的使用、

json定义

<script>var json={a: 15 ,b: 123 ,c: 'asd'}alert(json.a);alert(json['b']);</script>
for in循环使用

<script>var arr=['a','22','cc'];for(var i=0;i<arr.length;i++){alert('第'+i+'个元素是'+arr[i]);}for(var i in arr ){alert('第'+i+'个元素是'+arr[i]);}</script>
<script>var json={a: 15 ,b: 123 ,c: 'asd'}for(var i in json){alert('第'+i+'个元素是'+json[i]);}</script>