04 JavaScript基础&DOM 上
运算符:
等号 == 判断的是内容
=== 全等于,判断类型和内容
函数的定义:
数组简介
<!DOCTYPE html>
<html lang="zh">
<head>
<title>表单标签</title>
<meta charset="utf-8">
<meta name="keywords" content=",,">
<meta name="description" content="">
<style>
</style>
</head>
<script type="text/javascript">
function func1(){
alert("关键字function");
}
var func2 = function(){
alert("采用匿名函数的方式定义函数");
}
var func3 = new Function("x","y","alert(x+y)");
function fun4(){
alert("无参函数fun4");
}
function fun4(x){
alert("fun4(x)"+x);
}
/*JS里面没有函数重载,fun4(x,y)将覆盖上面的两方法*/
function fun4(x,y){
alert("fun4(x,y)"+x+y);
}
/*函数劫持,有点像函数override,*/
/*
window.alert = function(x){
document.write(x);
}
*/
var arr = new Array();//定义一个数组,初始长度为0;
var arr1 = new Array(4);//初始长度为4
arr[0]=1;
arr[1]=2;
arr[2]=3;
alert(arr[3]);//undefined
alert(arr[100]);//undefined
var arr2 = new Array(1,2,3,4,5);
var arr3 = [];
alert(typeof(arr3));//object
var arr4 = [3,2,45];
arr4.length=100;
alert(arr4.length);//100
arr4[100]=29;
alert(arr4.length);//101
/*减少数组长度,多余的数据将消失*/
arr4.length = 2;
alert(arr4[2]);//undefined
var arr5 = ["中国","台湾","香港"];
arr5["中国"] = ["北京","上海","深圳"];
alert(arr5[0]);
alert(arr5["中国"][0]);
alert(arr5);
alert(arr5.join("+"));/*中国+台湾+香港*/
alert(arr5.reverse());/*香港,台湾,中国*/
var arr6 = [3,8,"23","43",123];
arr6.sort();
alert(arr6);//123,23,3,43,8 全部按照字符串排序
/*默认把能转换成number类型的字符串,和number类型,按照字符串比较的方法进行比较,转换不成的做一组比较*/
alert(arr6.sort(function(a,b){
if(a*1 > b*1)
return 1;
else if(a*1==b*1)
{
return 0;
}
else
{
return -1;
}/*升序排列*/
}));
</script>
<body>
函数的定义:
1:关键字function;
2:采用匿名函数的方式定义函数;
3:使用 new Function;
<button οnclick="fun4('a','b','c')"></button><!--fun4(x,y)ab-->
<br>
函数劫持:改变JavaScript的函数预定义好的功能(指的是系统中实现的功能)。
isNaN:用来判断变量是否是数字类型的字符串
parseInt,parseFloat
eval:把字符串转换成数字,先执行字符串(如果字符串里面有加减等运算符时)。将json格式的字符串,转换成json。
escape():编码
unescape():解码
encodeURL():对网址(URL)进行编码
decodeURL():对网址(URL)进行解码
<p>
JavaScript常用对象介绍
1:Array对象、数组对象、进行数组操作
2:String对象--字符串类型的引用类型
var s = new String("XXX");
3:Number对象--数字原始类型引用类型
var n = new Number(100);
4:Boolean对象--布尔原始类型引用类型
var b = new Boolean(true);
5:Math对象 执行数学任务
6:Date对象 处理日期和时间
7:RegExp对象 正则表达式对象
</p>
<p>
JavaScript中数组与Java中数组的差别
a.Java中数组是有类型的,意味着一旦类型确定,则数组中所有的数据都是同一种。
b.JavaScript中数组是没有类型的,意味着数组中的数据可以存放任意类型的数据。
c.Java中数组的长度一旦确定,就不能更改了。JavaScript可以。
d.Java数组中的数据必须通过整数下标来引用。JavaScript中数组的下标可以不是整数。
</p>
<p>
常用数组函数
concat();链接两个或更多的数组,并返回结果
join();把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop();删除并返回数组的最后一个元素。
push();向数组的末尾添加一个或更多的元素,并返回新的长度。
reverse();颠倒顺序。
shift():删除并返回第一个元素
sort():排序,如果想按自己的规则进行比较,那么需要传递一个function类型的参数来制定比较规则。
</p>
</body>
</html>
标题栏滚动特效
<!DOCTYPE html>
<html lang="zh">
<head>
<title>标题栏滚动特效</title>
<meta charset="utf-8">
<meta name="keywords" content=",,">
<meta name="description" content="">
<style>
</style>
</head>
<script type="text/javascript">
function init(){
/*1:拿到标题栏的文本"*/
var title = document.title;
if(title=="标题栏滚动特效")
{
title=title+' ';/*注意看是单引号*/
}
/*2:将文本字符串转换成数组"*/
var titleArr = title.split("");/*把字符串转换成数组*/
//3:拿到数组第一个元素,并删除
var first = titleArr.shift();
//4:将第一个元素添加到数组的最后
titleArr.push(first);
//5:将数组在组合成字符串
title = titleArr.join("");
//6:将字符串再赋值给标题栏
document.title = title;
//7:每隔一秒重复一次
setTimeout("init()",400);/*隔1000毫秒重复一次*/
}
</script>
<!--页面加载完后就会立即调用onload指定的函数-->
<body οnlοad="init()">
<p>
常用数组函数
concat();链接两个或更多的数组,并返回结果
join();把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop();删除并返回数组的最后一个元素。
push();向数组的末尾添加一个或更多的元素,并返回新的长度。
reverse();颠倒顺序。
shift():删除并返回第一个元素
sort():排序,如果想按自己的规则进行比较,那么需要传递一个function类型的参数来制定比较规则。
</p>
<pre>
init(){
/*1:拿到标题栏的文本"*/
var title = document.title;
if(title=="标题栏滚动特效")
{
title=title+' ';/*注意看是单引号*/
}
/*2:将文本字符串转换成数组"*/
var titleArr = title.split("");/*把字符串转换成数组*/
//3:拿到数组第一个元素,并删除
var first = titleArr.shift();
//4:将第一个元素添加到数组的最后
titleArr.push(first);
//5:将数组在组合成字符串
title = titleArr.join("");
//6:将字符串再赋值给标题栏
document.title = title;
//7:每隔一秒重复一次
setTimeout("init()",400);/*隔1000毫秒重复一次*/
}
</pre>
</body>
</html>