1、javaScript是基于对象(而不是面对对象)和事件驱动的脚本语言,主要应用在客户端(网页)所以就可以和html想结合。
js里面的全是对象。java是面向对象,面向对象描述问题,使角色从执行着到指挥者的转变,不断指挥对象做事情
2、js和html想结合
不加标签就是把代码当做纯文本,当你加了<script type = ”javascript“>后就会调用javascript的解析器来把这句话按照javascript语言来解析。
3、javascript的语法
语句:例如if语句这种的。
4、js的变量
js是弱类型,所以var x =3,一个关键字var就代表了变量的意思。但是在java中就要制定数据的类型int x = 3。其实由于是弱语言,var不写也是ok的,有时候分号不写也是可以的。
js中单引号和双引号都代表着字符串,所以‘c’也是字符串,没有字符的概念。
运算时+是相连接,-确实将字符串转为数字,相运算
javascript中单与&和单或|都是位操作,显示结果为1或0。取反!,双与&&,双或||运算后的结果是true和false
5^3就是5异或3
</script>
<script type="text/javascript">
/*
* 运算符。
* 1,算术运算符。
* + - * / % ++ --
* 2,赋值运算符。
* = += -= *= /= %=
* 3,比较运算符:运算的结果要么是false要么是true。
* > < >= <= != ==
*
* 4,逻辑运算符。用来连接两个boolean型的表达式。
* ! && ||
* 5,位运算符。
* & | ^ >> << >>>
* 6,三元运算符。
* ? :
*/
//1,算术运算符演示。
var a = 3710;
// alert("a="+a/1000*1000);//a=3710;
var a1 = 2.3,b1 = 4.7;
// alert("a1+b1="+(a1+b1));
// alert("12"-1);//11
// alert("12"+1);//121
// alert(true+1);//2//因为在js中false就是0,或者null,非0,非null。就是true。默认用1表示。
// alert(2%5);//2
var n = 3,m;
m = ++n;
// alert("n="+n+",m="+m);
// =================================================
// 2,赋值运算符
var i = 3;
// i = i+2;
i+=2;
// alert("i="+i);
// =================================================
// 3,比较运算符。
var z = 3;
// alert(z!=4);
// =================================================
// 4,逻辑运算符。
var t = 4;
// alert(t>7 && t<6);
// alert(!true);
// =================================================
// 5,位运算符。
var c = 6;
// alert(c&3);//2
// alert(5^3^3);//5
// alert(c>>>1);//6/2(1);
// alert(c<<2);//24
// =================================================
//6,三元运算符。
// 3>0?alert("yes"):alert("no");
// alert(3>10?100:200);
</script>
<script type="text/javascript">
/*
* 一些细节:
* 1,undefined:未定义。其实它就是一个常量。
*/
var xx;
// alert(xx);//undefined
// alert(xx==undefined);//true
//要想获取具体的值的类型。可以通过typeof来完成。
// alert(typeof("abc")=='string');//string
// alert(typeof(2.5)=='number');//number//判断类型。
// alert(typeof(true));//boolean
// alert(typeof(78));//number
// alert(typeof('9'));//string
</script>
变量没有赋值,操作变量就会包undefine的错误。
java中不允许if(x=3),不小心写成这样会报错,但是在javascript中if(x=3)会执行。所以在javascript中通常写成if(4==x)这样,就算不小心写成if(4=x)就会报错。
java中switch只能选择short,int long,char这四个类型的数据。
就算default写在了第一个的位置,也为先执行第一个case。
我们一般在<script>标签中写入javascript语句,如果想在javascript语句中添加标签,是的页面有标签的效果,就必须通过document.write("<br/>")的形式将这些文本写进网页,网页会用html核心解析这些带有标签的文本,还原出标签的效果。
效果图如下所示:
13、javascript的数组
数组是可变长度的,而且装入的元素可以是任意类型的。
因为javascript中数组是可变长度的,所以var arr=[ ] 这里没有指定长度。
14、javascript函数
javascript若类型,函数不写返回函数类型
javascript函数中传入的参数都存储到数组中去了,不会丢的。虽然可能传入的比规定的还多。
如果不小心把函数的括号漏掉了,相当于把函数对象的引用付给了sum,sum指向堆中的函数对象。打印时,相当于调用了toString方法,就把函数对象的代码保留格式以字符串的形式输出了。
上下两种定义方法效果是一样的。下面的方法是匿名函数的方法。
javascript中打印数组,会直接把数组的元素转为字符串打印出来(不会打印引用值),中间都好间隔。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Untitled Document</title>
</head>
<body>
<script type="text/javascript">
/*
* 综合练习:
* 1,定义功能,完成对数组的最值获取。
*
* 2,对数组排个序。
*
* 3,对数组查个找。
*
* 4,对数组元素进行反转。
*
*/
var arr = [66,13,37,21,89,17];
//取最值。
function getMax(arr){
var max = 0;
for(var x=1; x<arr.length; x++){
if(arr[x]>arr[max])
max = x;
}
return arr[max];
}
var maxValue = getMax(arr);
// alert("maxValue:"+maxValue);
//排序。
function sortArray(arr){
for(var x=0; x<arr.length-1; x++){
for(var y=x+1; y<arr.length; y++){
if(arr[x]>arr[y]){
swap(arr,x,y);
}
}
}
}
//数组中的元素位置置换。
function swap(arr,x,y){
var temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
function println(val){
document.write(val+"<br/>");
}
// document.write("排序前:"+arr);
println("排序前:"+arr)
// sortArray(arr);
println("排序后:"+arr)
// document.write("排序后:"+arr);
</script>
<script type="text/javascript">
/*
* 3,对数组查个找。
*
* 4,对数组元素进行反转。
*/
//查找。
function searchElement(arr,key){
for(var x=0;x<arr.length; x++){
if(arr[x]==key)
return x;
}
return -1;
}
//折半,必须有前提。必须是有序的数组。
function binarySearch(arr,key){
var max,min,mid;
min = 0;
max = arr.length-1;
while(min<=max){
mid = (max+min)>>1;
if(key>arr[mid])
min = mid + 1;
else if(key<arr[mid])
max = mid - 1;
else
return mid;
}
return -1;
}
//对数组的反转。
function reverseArray(arr){
for(var start=0,end=arr.length-1; start<end; start++,end--){
swap(arr,start,end);
}
}
reverseArray(arr);
println("反转后:"+arr);
</script>
</body>
</html>