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.οnlοad=function()
{
var oTxt1 = document.getElementById('Txt1');
var oTxt2 = document.getElementById('Txt2');
var oBtn = document.getElementById('Btn1');
oBtn.οnclick=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.οnlοad=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.οnlοad=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.οnlοad=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>