<body>
//都能激活提示框
<a href="javascript:alert('我是重定向的代码');">hellow</a>
<form action="javascript:alert('提交表单');">
<input type="submit" value="提交表单" />
</form>
</body>
== 只判断内容,不管类型
=== 全等,既判断内容,又判断类型
!= 只判断内容,不管类型
!== 既判断内容,又判断类型
1.与运算(要求左右两边的条件都是true,结果是true)
var hd = 11>2 && 3>2;
2.或运算(左右两边条件至少有一边是true,结果才是true)
var hd = 11>20 || 3>21;
3.非运算(取反,真的变成假的,假的变成真的)
var hd = !(2>1);
4.三元运算符/三元表达式
(条件)?条件为真的时候返回的值:条件为假的时候返回的值;
5.转换数值类型
Number
parseFloat
parselnt
isNaNAN
eval
1.setTimeout
2.setInterval
3.clearInterval
1.构造函数
<script type="text/javascript">
// 构造函数(类)
function ren(){
this.name = '名字';
this.sex = '性别';
this.height = '身高';
this.weight = '体重';
this.look = function(){
alert('能看见东西');
};
this.run = function(){
alert('能跑');
};
}
ren(ren);
// 通过构造函数实例化具体对象
var xiawa = new ren();
xiawa.name = '夏娃';
document.write(xiawa.name);
xiawa.sex = '女孩';
document.write(xiawa.sex);
var yadang = new ren();
yadang.name = '亚当';
document.write(yadang.name);
// 执行对象里的方法
yadang.run();
// 追加新属性和新方法
yadang.wenshen = '两只皮皮虾';
document.write(yadang.wenshen);
yadang.tree = function(){
alert('会爬树');
}
yadang.tree();
</script>
2.遍历
<script type="text/javascript">
var auas = {
price:'8000元',
size:'15.6寸',
weight:'3kg',
color:'黑色',
game:function (){
alert('玩游戏')
},
chat:function(){
alert('聊天')
}
};
// x表示当前遍历到的属性的属性名字字符串形式,auas表示提用auas数组
for (x in auas) {
document.write(x+'=>'+auas[x]+'
');
}
</script>
3.删除对象属性
delete auas.price
4.数组对象
<script type="text/javascript">
var fruits = ['苹果','鸭梨','香蕉','西瓜','桔子','葡萄'];
// 获得数组长度
// document.write(fruits.length);
document.write(fruits);
document.write("
");
// 向数组最后追加元素
// fruits.push('火龙果','椰子');
// 向数组的开头追加元素
// fruits.unshift('火龙果','椰子');
// 删除数组最后的一个元素
// fruits.pop();
// 删除数组第一个元素
fruits.shift('1');
fruits.shift();
document.write(fruits);
</script>
var fruits = ['苹果','鸭梨','香蕉','西瓜','桔子','葡萄'];
ocument.write(fruits);
document.write("
");
第一个参数表示开始删除或追加的位置
// 第二个参数表示删除的个数
fruits.splice(2,3);
// 清除三个在添加
// fruits.splice(2,3,'椰子','火龙果');
// fruits.splice(2,1);
// fruits.splice(4,0,'椰子','火龙果');
document.write(fruits);
var fruits = ['苹果','鸭梨','香蕉','西瓜','桔子','葡萄'];
// unshift push shift pop splice都属于破坏性操作
// slice是非破坏性操作
// slice截取的时候,包含开始,不包含结束
// var result = fruits.slice(1,4);
// var result = fruits.slice(1,);
// 负数表示倒数第几个,比如 -1就是表示倒数第一个
document.write(fruits);
document.write("
");
// 前面不能为负数,表示删前的个数。
// 后面可以为负数或正数,正数表示保留前面的个数,负数表示删去后面的个数
// 要是有两个result的话,下面的会取代上面那个
var result = fruits.slice(1,-2);
var result = fruits.slice(1,2);
var result = fruits.slice(0,4);
// 等于
// var result = fruits.slice(0,-2);
document.write(result);
<script type="text/javascript">
var fruits = ['苹果','鸭梨','香蕉','西瓜','桔子','葡萄'];
// 将数组转成字符串
var result = fruits.join('safsf');
document.write(result);
document.write("
");
document.write(typeof result);
</script>
var fruits = ['苹果','鸭梨','香蕉','西瓜','桔子','葡萄'];
var jingdian = ['天安门','故宫','长城'];
// 连接数组
// var result = fruits.concat(jingdian);
var result = fruits.concat(fruits);
document.write(result);
// 作业:写一个函数,传入一个数组,返回数组去重复之后的效果
// var arr = ['a','b','c','a','a','a','d','e','c','f','d'];
// var result = foo(arr);
function unique(arr){
for (var i=0;i<arr.length;i++) {
// document.write("让"+i+"号元素去跟它后面的所有元素进行对比,如果一样,就删掉后面的元素
");
for (var j=i+1;j<arr.length;j++) {
// ==||===
if (arr[j] == arr[i]) {
// 删掉j号元素
arr.splice(j,1);
// 当元素有两个相同时会有bug,因为删掉元素后序号会往后面排,
// 计算机会认为往后排的序号已经执行过了
j--;
}
}
}
return arr;
}
var hd = ['a','a',5,'5','b','c','a','a','a','d','e','c','f','d'];
var result = unique(hd);
document.write(result);
function unique(arr){
var obj = {};
for (var i=0;i<arr.length;i++) {
obj[arr[i]] = 'hd';
var result = [];
// 循环,将obj的属性名提取出来
for (x in obj) {
result.push(x);
}
return result;
}
// 不会考虑数据类型
var hd = ['a',5,'5','b','c','a','a','a','d','e','c','f','d'];
var result = unique(hd);
document.write(result);