`
onewayonelife
  • 浏览: 252164 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

JavaScript基础

阅读更多

1.输出

<script language="javascript">
	var myName = "isaac";
	document.write(myName);
</script>

 

 2.操作字符串

<script language="javascript">
	var sMyString = "Peking University";
	document.write(sMyString.slice(1,3) + "<br>");               //字符串从包含1开始,但不包括3位置
	document.write(sMyString.substring(1,3) + "<br>");       //字符串从包含1开始,但不包括3位置
	document.write(sMyString.slice(4) + "<br>");                  //字符串从包含4位置开始以后所有字符
	document.write(sMyString + "<br>");		         //不改变原字符串
</script>

 

<script language="javascript">
	var sMyString = "Peking University";                                
	document.write(sMyString.slice(2,-4) + "<br>");              
	//从包含2的位置开始,University从右往左数去掉4个长度的字符(king Univer)
	document.write(sMyString.substring(2,-3) + "<br>");
	//substring(2,-3)等同于substring(2,0)也等同于substring(0,2)(Pe)
	document.write(sMyString.substring(2,0) + "<br>");
	//substring(2,0)等同于substring(0,2)(Pe)
	document.write(sMyString + "<br>");
</script>

 

3.查找字符串

<script language="javascript">
	var sMyString = "Peking University";
	document.write(sMyString.indexOf("i")+"<br>");		
	//从前往后(3)
	document.write(sMyString.indexOf("i",3)+"<br>");		
	//可选参数,从第几个字符开始往后找(3)
	document.write(sMyString.lastIndexOf("i")+"<br>");	
	//从后往前(14)
	document.write(sMyString.lastIndexOf("i",3)+"<br>");	
	//可选参数,从第几个字符开始往前找(3)
	document.write(sMyString.lastIndexOf("V")+"<br>");	
	//大写“V”找不到,返回-1(-1)
</script>

  

4.数值计算

<script language="javascript">
	var mynum1 = 23.345;
	var mynum2 = 45;
	var mynum3 = -34;
	var mynum4 = 9e5;		//科学计数法
	alert(mynum1 + " " + mynum2 + " " + mynum3 + " " + mynum4); 
</script>

 

<script language="javascript">
	var fNumber = 895.4;
	//toExponential() 方法可把对象的值转换成指数计数法。
	//NumberObject.toExponential(num) 
	//num 必需。规定指数计数法中的小数位数,是 0 ~ 20 之间的值,
	//包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,
	//将使用尽可能多的数字。 
	alert(fNumber.toExponential(1));     //(9.0e+2)
	alert(fNumber.toExponential(2));     //(8.95e+2)
</script>

 

5.布尔型

<script language="javascript">
	var married = true;
	alert("1." + typeof(married));        //(boolean)
	married = "true";
	alert("2." + typeof(married));        //(string)
</script>

 

6.类型转换

<script language="javascript">
	var a = 3;	
	var b = a + "";
	var c = a.toString();
	var d = "student" + a;
	alert(typeof(a) + " " + typeof(b) + " " + typeof(c) + " " + typeof(d));
	//(number   string   string   string)
</script>

 

7.toString()方法

<script language="javascript">
	//objectname.toString([radix])
	//其中objectname是必选项。要得到字符串表示的对象。
	//radix是可选项。指定将数字值转换为字符串时的进制。
	var a=11;
	document.write(a.toString(2) + "<br>");         //(1011)
	document.write(a.toString(3) + "<br>");         //(102)
	document.write(a.toString(8) + "<br>");         //(13)
	document.write(a.toString(16) + "<br>");       //(b)
</script>

 

8.parseInt()方法

<script language="javascript">
	//parseInt() 函数可解析一个字符串,并返回一个整数。
	//parseInt(string, radix)
	//string 必需。要被解析的字符串。 
	//radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
	//如果省略该参数或其值为 0,则数字将以 10 为基础来解析。
	//如果它以 “0x” 或 “0X” 开头,将以 16 为基数。
	//如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
	document.write(parseInt("4567red") + "<br>");
	//(4567)
	document.write(parseInt("53.5") + "<br>");
	//(53)
	document.write(parseInt("0xC") + "<br>");
	//直接进制转换 (12)
	document.write(parseInt("isaacshun@gmail.com") + "<br>");
	//(NaN)
</script>

 

<script language="javascript">
	document.write(parseInt("AF",16) + "<br>");             //(175)
	document.write(parseInt("11",2) + "<br>");               //(3)
	document.write(parseInt("011") + "<br>");	    //0开头,默认为八进制(9)
	document.write(parseInt("011",8) + "<br>");             //(9)
	document.write(parseInt("011",10) + "<br>");	    //指定为十进制(11)
</script>

 

9.parseFloat()方法

<script language="javascript">
	//parseFloat() 函数可解析一个字符串,并返回一个浮点数。
	document.write(parseFloat("34535orange") + "<br>");                     //(34535)
	document.write(parseFloat("0xA") + "<br>");	                            //(0)
	//不再有默认进制,直接输出第一个字符“0”
	document.write(parseFloat("435.34") + "<br>");                               //(435.34)
	document.write(parseFloat("435.34.564") + "<br>");                        //(435.34)
	document.write(parseFloat("isaacshun@gmail.com") + "<br>");        //NaN
</script>

 

10.数组

<script language="javascript">
	var aMap = new Array("China","USA","Britain");
	alert(aMap.length + " " + aMap[2]);                             //(3   Britain)
</script>

 

<script language="javascript">
	var aMap = new Array("China","USA","Britain");
	aMap[20] = "Korea";
	alert(aMap.length + " " + aMap[10] + " " + aMap[20]);
	//(21   undefined   Korea)
</script>

 

<script language="javascript">
	var aMap = ["China","USA","Britain"];
	alert(aMap.toString() + " " + typeof(aMap.toString()));
	//(China,USA,Britain   string)
</script>

  

 11.split()方法

<script language="javascript">
	//split() 方法用于把一个字符串分割成字符串数组。

	//stringObject.split(separator,howmany)
	//separator 必需。字符串或正则表达式,
	//从该参数指定的地方分割 stringObject。 

	//howmany 可选。该参数可指定返回的数组的最大长度。
	//如果设置了该参数,返回的子串不会多于这个
	//参数指定的数组。如果没有设置该参数,整个
	//字符串都会被分割,不考虑它的长度。 

	var sFruit = "apple,pear,peach,orange";
	var aFruit = sFruit.split(",");
	alert(aFruit.join("--"));

	//join() 方法用于把数组中的所有元素放入一个字符串。
	//元素是通过指定的分隔符进行分隔的。
	//arrayObject.join(separator)
	//separator 可选。指定要使用的分隔符。
	//如果省略该参数,则使用逗号作为分隔符。 

	//(apple--pear--peach--orange)
</script>

 

12.reverse()方法

<script language="javascript">
	//reverse() 方法用于颠倒数组中元素的顺序。
	//arrayObject.reverse()
	//该方法会改变原来的数组,而不会创建新的数组。

	var aFruit = ["apple","pear","peach","orange"];
	alert(aFruit.reverse().toString());
	//(orange,peach,pear,apple)
</script>

 

<script language="javascript">
	var sMyString = "abcdefg";
	alert(sMyString.split("").reverse().join(""));
	//split("")将每一个字符转为一个数组元素
	//reverse()反序数组的每个元素
	//join("")再最后将数组无连接符的转为字符串
	//(gfedcba)
</script>

  

13.sort()方法

<script language="javascript">
	//sort() 方法用于对数组的元素进行排序
	//arrayObject.sort(sortby)参数 描述 
	//sortby 可选。规定排序顺序。必须是函数

	var aFruit = ["pear","apple","peach","orange"];
	aFruit.sort();
	alert(aFruit.toString());
	//(apple,orange,peach,pear)
</script>

 

 14.pop()方法

<script language="javascript">
	//pop() 方法用于删除并返回数组的最后一个元素
	//arrayObject.pop()返回值
	//arrayObject 的最后一个元素。
	//pop() 方法将删除 arrayObject 的最后一个元素
	//把数组长度减 1,并且返回它删除的元素的值
	//如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。

	var stack = new Array();
	stack.push("red");
	stack.push("green");
	stack.push("blue");
	document.write(stack.toString() + "<br>");
	var vItem = stack.pop();
	document.write(vItem + "<br>");
	document.write(stack.toString());
	//(red,green,blue)
	//(blue)
	//(red,green)
</script>

  

15.判断

<script language="javascript">
	document.write("Pear" == "Pear");                    //(true)
	document.write("<br>");
	document.write("Apple" < "Orange");                //(true)
	document.write("<br>");
	document.write("apple" < "Orange");                //(false)
</script>

 

<script language="javascript">
	document.write(3>2 && 4>3);                           //(true)
	document.write("<br>");
	document.write(3>2 && 4<3);                           //(false)
	document.write("<br>");
	document.write(4<3 || 3>2);                             //(true)
	document.write("<br>");
	document.write(!(3>2));                                    //(false)
</script>

 

16.if语句

<script language="javascript">
	//Number 对象是原始数值的包装对象

	//创建 Number 对象的语法:
	//var myNum=new Number(value);
	//var myNum=Number(value);

	//参数 value 是要创建的 Number 对象的数值,或是要转换成数字的值。
	//返回值
	//当 Number() 和运算符 new 一起作为构造函数使用时
	//它返回一个新创建的 Number 对象
	//如果不用 new 运算符,把 Number() 作为一个函数来调用
	//它将把自己的参数转换成一个原始的数值
	//并且返回这个值(如果转换失败,则返回 NaN)


	//首先获取用户的一个输入,并用Number()强制转换为数字
	var iNumber = Number(prompt("输入一个5到100之间的数字", ""));
	if(isNaN(iNumber))		                                               //判断输入的是否是数字
		document.write("请确认你的输入正确");
	else if(iNumber > 100 || iNumber < 5)		               //判断输入的数字范围
		document.write("你输入的数字范围不在5和100之间");
	else
		document.write("你输入的数字是:" + iNumber);
</script>

 

17.switch语句

<script language="javascript">
	iWeek = parseInt(prompt("输入1到7之间的整数",""));
	switch(iWeek){
		case 1:
			document.write("Monday");
			break;
		case 2:
			document.write("Tuesday");
			break;
		case 3:
			document.write("Wednesday");
			break;
		case 4:
			document.write("Thursday");
			break;
		case 5:
			document.write("Friday");
			break;
		case 6:
			document.write("Saturday");
			break;
		case 7:
			document.write("Sunday");
			break;
		default:
			document.write("Error");
	}
</script>

  

18.while语句

<script language="javascript">
	var i=iSum=0;
	while(i<=100){
		iSum += i;
		i++;
	}
	alert(iSum);                   //(5050)
</script>

 
19.do..while语句

<script language="javascript">
	var aNumbers = new Array();
	var sMessage = "你输入了:\n";
	var iTotal = 0;
	var vUserInput;
	var iArrayIndex = 0;
	do{
		vUserInput = prompt("输入一个数字,或者'0'退出","0");
		aNumbers[iArrayIndex] = vUserInput;
		iArrayIndex++;
		iTotal += Number(vUserInput);
		sMessage += vUserInput + "\n";
	}while(vUserInput != 0)		                    //当输入为0(默认值)时退出循环体
	sMessage += "总数:" + iTotal;
	alert(sMessage);
</script>

 

20.for语句

<script language="javascript">
	var aNumbers = new Array();
	var sMessage = "你输入了:\n";
	var iTotal = 0;
	var vUserInput;
	var iArrayIndex = 0;
	do{
		vUserInput = prompt("输入一个数字,或者'0'退出","0");
		aNumbers[iArrayIndex] = vUserInput;
		iArrayIndex++;
	}while(vUserInput != 0)		//当输入为0(默认值)时退出循环体
	//for循环遍历数组的常用方法:
	for(var i=0;i<aNumbers.length;i++){
		iTotal += Number(aNumbers[i]);
		sMessage += aNumbers[i] + "\n";
	}
	sMessage += "总数:" + iTotal;
	alert(sMessage);
</script>

 

21.break语句

<script language="javascript">
	var aNumbers = new Array();
	var sMessage = "你输入了:<br>";
	var iTotal = 0;
	var vUserInput;
	var iArrayIndex = 0;
	do{
		vUserInput = Number(prompt("输入一个数字,或者'0'退出","0"));
		if(isNaN(vUserInput)){
			document.write("输入错误,请输入数字,'0'退出<br>");
			break;		//输入错误直接退出整个do循环体
		}
		aNumbers[iArrayIndex] = vUserInput;
		iArrayIndex++;
	}while(vUserInput != 0)		//当输入为0(默认值)时退出循环体
	//for循环遍历数组的常用方法:
	for(var i=0;i<aNumbers.length;i++){
		iTotal += Number(aNumbers[i]);
		sMessage += aNumbers[i] + "<br>";
	}
	sMessage += "总数:" + iTotal;
	document.write(sMessage);
</script>

 

22.continue语句

<script language="javascript">
	var aNumbers = new Array();
	var sMessage = "你输入了:<br>";
	var iTotal = 0;
	var vUserInput;
	var iArrayIndex = 0;
	do{
		vUserInput = Number(prompt("输入一个数字,或者'0'退出","0"));
		if(isNaN(vUserInput)){
			alert("输入错误,请输入数字,'0'退出");
			continue;		//输入错误则退出当前循环,继续下一次循环
		}
		aNumbers[iArrayIndex] = vUserInput;
		iArrayIndex++;
	}while(vUserInput != 0)		//当输入为0(默认值)时退出循环体
	//for循环遍历数组的常用方法:
	for(var i=0;i<aNumbers.length;i++){
		iTotal += Number(aNumbers[i]);
		sMessage += aNumbers[i] + "<br>";
	}
	sMessage += "总数:" + iTotal;
	document.write(sMessage);
</script>

 

23.九九乘法表

<body bgcolor="#e0f1ff">
<table cellpadding="6" cellspacing="0" style="border-collapse:collapse; border:none;">
<script language="javascript">
for(var i=1;i<10;i++){			//乘法表一共九行
	document.write("<tr>");		//每行是table的一行
    	for(j=1;j<10;j++)			//每行都有9个单元格
		if(j<=i)				//有内容的单元格
	        		document.write("<td style='border:2px solid #004B8A; 
			background:#FFFFFF;'>"+i+"*"+j+"="+(i*j)+"</td>");
		else				//没有内容的单元格
			document.write("<td style='border:none;'></td>");
    			document.write("</tr>");
}
</script>
</table>
</body>

 

24.arguments对象

<script language="javascript">
	//arguments 对象
	//在函数代码中,使用特殊对象 arguments
	//开发者无需明确指出参数名,就能访问它们。

	//检测参数个数
	//还可以用 arguments 对象检测函数的参数个数
	//引用属性 arguments.length 即可。

	function ArgsNum(){
		return arguments.length;
	}
	document.write(ArgsNum("isaac",25) + "<br>");
	//(2)
	document.write(ArgsNum() + "<br>");
	//(0)
	document.write(ArgsNum(3) + "<br>");
	//(1)
</script>

 

<script language="javascript">
	function fnAdd(){
		if(arguments.length == 0)
			return;
		else if(arguments.length == 1)
			return arguments[0] + 5;
		else{
			var iSum = 0;
			for(var i=0;i<arguments.length;i++)
				iSum += arguments[i];
			return iSum;
		}
	}
	document.write(fnAdd(45) + "<br>");
	//(50)
	document.write(fnAdd(45,50) + "<br>");
	//(95)
	document.write(fnAdd(45,50,55,60) + "<br>");
	//(210)
</script>

  

25.杨辉三角

<script language="javascript">
function Combination(m,n){
	if(n==0) return 1;			//每行第一个数为1
	else if(m==n) return 1;	               //最后一个数为1
	//其余都是上一行相邻元素相加而来
	else return Combination(m-1,n-1)+Combination(m-1,n);
}
function Pascal(n){	                                                //杨辉三角,n为行数
	for(var i=0;i<n;i++){		//一共n行
		for(var j=0;j<=i;j++)	
                                //每行数字的个数即为行号,例如第一行1个数,第二行2个数
			document.write(Combination(i,j)+"&nbsp;&nbsp;");
		document.write("<br>");
	}		
}
Pascal(10);		//直接传入希望得到的杨辉三角的行数
</script>

 

26.Date对象

<script language="javascript">
	var myDate1 = new Date();	                //运行代码前的时间
	for(var i=0;i<3000000;i++);
		var myDate2 = new Date();	//运行代码后的时间
	alert(myDate2-myDate1);
</script>

 

<script language="javascript">
	var oMyDate = new Date();
	var iYear = oMyDate.getFullYear();
	var iMonth = oMyDate.getMonth() + 1;	//月份是从0开始的
	var iDate = oMyDate.getDate();
	var iDay = oMyDate.getDay();
	switch(iDay){
		case 0:
			iDay = "星期日";
			break;
		case 1:
			iDay = "星期一";
			break;
		case 2:
			iDay = "星期二";
			break;
		case 3:
			iDay = "星期三";
			break;
		case 4:
			iDay = "星期四";
			break;
		case 5:
			iDay = "星期五";
			break;
		case 6:
			iDay = "星期六";
			break;
		default:
			iDay = "error";
	}
	document.write("今天是" + iYear + "年" + iMonth +"月" + iDate + "日," + iDay);
</script>

 

<script language="javascript">
function disDate(oDate, iDate){
	var ms = oDate.getTime();		//换成毫秒数
	ms -= iDate*24*60*60*1000;		//计算相差的毫秒数
	return new Date(ms);		//返回新的时间对象
}
var oBeijing = new Date(2008,7,8);
var iNum = 100;						//前100天
var oMyDate = disDate(oBeijing, iNum);
document.write(oMyDate.getFullYear()+"年"+(oMyDate.getMonth()+1)
+"月"+oMyDate.getDate()+"日" + "距离"+oBeijing.getFullYear()+
"年"+(oBeijing.getMonth()+1)+"月"+oBeijing.getDate()+
"日为"+iNum+"天");
</script>

  

27.Math.random()

<script language="javascript">
	//Math 对象用于执行数学任务
	//random() 返回 0 ~ 1 之间的随机数 

	function selectFrom(iFirstValue, iLastValue){
		var iChoices = iLastValue - iFirstValue + 1;	//计算项数
		return Math.floor(Math.random()*iChoices+iFirstValue);
	}
	var iNum = selectFrom(2,99);		//随机选择数字
	var aFruits = ["apple","pear","peach","orange","watermelon","banana"];
	//随机选择数组元素
	var sFruit = aFruits[selectFrom(0,aFruits.length-1)];
	alert(iNum + " " + sFruit);
</script>

 

28.检测浏览器和操作系统

<script language="javascript">
//Navigator 对象包含有关浏览器的信息

var sUserAgent = navigator.userAgent;
//检测Opera、KHTML
var isOpera = sUserAgent.indexOf("Opera") > -1;
var isKHTML = sUserAgent.indexOf("KHTML") > -1 ||
sUserAgent.indexOf("Konqueror") > -1 || sUserAgent.indexOf
("AppleWebKit") > -1;
//检测IE、Mozilla
var isIE = sUserAgent.indexOf("compatible") > -1 &&
sUserAgent.indexOf("MSIE") > -1 && !isOpera;
var isMoz = sUserAgent.indexOf("Gecko") > -1 && !isKHTML;
//检测操作系统
var isWin = (navigator.platform == "Win32") || (navigator.platform
== "Windows");
var isMac = (navigator.platform == "Mac68K") || (navigator.platform
== "MacPPC") || (navigator.platform == "Macintosh");
var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
if(isOpera) document.write("Opera ");
if(isKHTML) document.write("KHTML ");
if(isIE) document.write("IE ");
if(isMoz) document.write("Mozilla ");
if(isWin) document.write("Windows");
if(isMac) document.write("Mac");
if(isUnix) document.write("Unix");
</script>

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics