Javascript是用来干什么的呢?
javascript是前端开发语言,经常与html、css技术一起构成前端开发。javascript一般通过ajax与后台进行数据交互。其实和javascript有个相同名称的java 是后端开发语言,他俩虽然都有java这个单词,但是他俩没什么直接关系,就像雷锋和雷锋塔的关系一样。
在script(脚本片段)标签内定义的变量在整个页面都有效。定义在函数内部的就是局部变量。
<html>
<head>
</head>
<body>
<script type="text/javascript">
for(var x=0;x<3;x++){
document.write("x="+x);
}
document.write("x===="+x);
</script>
</body>
</html>
02-Javascript(Js和html相结合的方式一二)
Javascript用在客户端,客户端就是网页。网页就是有html组成,如何将JS和html相互结合呢
<html>
<head>
</head>
<body>
<script type="text/javascript">
alert("hello javascript");
</script>
</body>
</html>
Js和html相结合的方式:
1. 将js代码封装到<script>标签中。
2. 将js代码封装到js文件中,并通过<script>中的src属性进行导入。
注意:如果<script>标签使用了src属性,那么该标签中封装的js代码不会执行。所以导入js文件都是使用单独的<script>来完成。
例如:
<html>
<head>
</head>
<body>
<script type="text/javascript" src="demo.js">
alert("hello javascript");
</script>
</body>
</html>
修改后:
<html>
<head>
</head>
<body>
<script type="text/javascript" src="demo.js"></script>
<script type="text/javascript">
alert("hello javascript");
</script>
</body>
</html>
03-Javascript(语法的通用体现)
通常高级程序设计语言包含的语法内容:
1. 关键字:该种语言中赋予了特殊含义的单词。
2. 标识符:用于标示数据表达式的符号。通常可以理解为程序中自定义的名称比如变量名,函数名。
3. 注释:说明解释程序,用于调试程序。
4. 变量:标示内存空间,用于存储数据。该空间中的数据可以变化。什么时候使用变量呢?(当数据不确定的时候)
5. 运算符:可以让数据进行运算的符号。
6. 语句:用于对程序的运行流程进行控制的表达式。
7. 函数
8. 数组
9. 对象:只要是基于对象的语言,或者面向对象的语言,就存在对象的概念。对象就是一个封装体,既可以封装数据又可以封装函数。
这些都是高级程序设计语言具备的共性内容,只不过各种语言对这些内容的表现形式有所不同。但是基本思想是一致的。
04-Javascript(JS语法-变量)
<script type=”text/javascript”>
/*
Js中定义变量,使用到关键字。关键字就是var
Var x=3; //js是弱类型的。Int x=3是强类型的。Js是不规范语言的,var不写也可以,但是最好还是规范书写。
X=”abc”;
X=3.45;
X=true;
X=’c’;
Alert(“x=”+x);//这是一个函数,就爱那个具体的参数通过对话框进行显示。
Var a=3 var b=7;//编译错误,但是分2行写就可以。不用去管这个语言的语法,有点麻烦。本来就是非严谨性语言。
*/
</script>
05-Javascript(JS语法-算术运算符)
算术、赋值、比较、逻辑、位、三元运算符
Var a=3710;
Alert(“a=”+a/1000*1000);//a=3710,它的除法也是弱运算,不会像java一样变成3000
Var a1=2.3,b1=4.7;
Alert(“a1+b1=”+(a1+b1));//本来应该输出7.0的(java中),但是现在输出7(弱类型)
Alert(12+1);//输出13
Alert(“12”+1);//输出121
Alert(“12”-1);//输出11,先把12变成整数,然后再进行减法运算。
Alert(true+1);//打印出2,如果是false打印1。因为在js中false就是0,非0,非null,就是true。默认用1标示。
Alert(2%5);//为2
Var n=3,m;
m=n++;
Alert(“n=”+n+”,m=”+m);//4,4跟java一样。
06-Javascript(JS语法-其他运算符)
比较运算符的结果要么是true,要么是false。
07-Javascript(JS语法-小细节)
一些细节:
1. undefined:未定义。
Var x;
Alert(x); //会显示undefined,因为变量没有定义。其实它就是一个常量。
Alert(x==undefined);//这样就是true
要想获取具体值的类型,可以通过typeof来完成。
Alert(typeof(“abc”)); //string
Alert(typeof(2.5)==’number’);//number 用这样的方式来判断也行,会打印出true。
Alert(typeof(true));//boolean
Alert(typeof(78));//number
Alert(typeof(‘9’));//string
08-Javascript(JS语句-if语句)
If(4==x)//做判断优秀的代码习惯,建议将常量放左边。
09-Javascript(JS语句-switch语句)
当所有case都不匹配的时候,才会去读default。
10-Javascript(JS语句-循环语句)
Do while 无论是否满足,循环体最少执行一次。(和while语句的区别)
var x=1;
while(x<3){
Document.write(<“font color=’red’ >”"x="+x+”<br/>”); //html只认标签的。
X++;}
也可以改为如下:
var x=1;
Document.write(“<font color=’red’>”);
while(x<3){
Document.write("x="+x+”<br/>”); //html只认标签的。
X++;}
For(int x=0;x<3;x++)
Document.write(“x=”+x);//注意不是int,需要写var。一定要注意。
11-Javascript(JS语句-其他语句)
13-Javascript(JS数组)
Js中的数组:
数组用于存储更多的数据,是一个容器。Js中的数组定义的两种方式:
1. var arr=[]; 或var arr=[3,1,5,8];长度是可变的。Js中就只有这一个容器。元素的类型是任意的。建议在使用数组时,存储同一类型的元素。操作起来方便。
2. 使用了js中的Array对象来完成。
Var arr=new Array();//var arr=[];
Var arr1=new Array(5);//数组定义并长度是5
Var arr2=new Array(5,6,7);//定义一个数组,元素是5,6,7;
示例:
<html>
<head>
</head>
<body>
<script type="text/javascript">
var arr=[23,78,100];
arr[4]=56;//数组可变长
alert(typeof(arr));//对象类型object
alert("len:"+arr.length);
for(var x=0;x<arr.length;x++) //遍历数组
document.write("arr["+x+"]="+arr[x]+"<br/>");
</script>
</body>
</html>
14-Javascript(JS函数)
Js中的函数演示:
函数就是一个功能的封装体,定义功能需要两个明确。
1. 功能的结果。
2. 功能实现中的参与运算的未知的内容。
Js中的定义函数的格式。
通过指定的关键字来定义。
Function函数名(参数列表){
函数体:
Return 返回值;//如果没有具体的返回值,return语句可以省略。
}
示例:
<html>
<head>
</head>
<body>
<script type="text/javascript">
function demo(){
alert("demo run");
return;
}
function add(x,y){
return x+y;
}
demo();//调用函数
var sum=add(2,3);
document.write("sum="+sum);
</script>
</body>
</html>
注意区分:alert 是弹窗警示;document.write 是将内容输出到网页内容中
15-16Javascript(JS函数_细节)
函数的一些细节:
1. 只要使用函数的名称就是对这个函数的调用。
2. 函数中有一个数组在对传入的参数进行存储。这个数组的名字就是argument
Alert(argument.length);//就可以打印出来的长度,其实传入的参数一个都没丢,即使传入3个只打印了2个。
<html>
<head>
</head>
<body>
<script type="text/javascript">
function demo(){
alert("demo run");
return;
}
function show(x,y){
alert(x+":"+y);
}
show();//建议函数中定义几个参数就传递几个实参。
</script>
</body>
</html>
3.
<html>
<head>
</head>
<body>
<script type="text/javascript">
function getSum(x,y){
return 100;
}
var sum=getSum();//getSum函数运行,并将返回的结果赋值给sum。
var sum=getSum;//如果忘记写了括号,getSum本身就是一个函数名,而函数本身在js中就是一个对象。getSum就是这个函数对象的引用。将getSum这个引用的地址赋值给sum。这时sum也指向了这个函数对象。相当于这个函数对象有两个函数名称。
alert("sum="+sum);//打印的时候如果sum指向的如果是函数对象,那么会将该函数对象的字符串表现打印出来,就是该函数的代码定义格式。
</script>
</body>
</html>
其实函数都是对象的,
直接让函数有了2个名字,直接把函数变成了字符串,原封不动的打印出来了。
17-Javascript(JS函数_动态函数)
动态函数:使用的是js中内置的一个对象Function。只不过用的不是很多。
参数列表,函数体都是通过字符串动态指定的。
<html>
<head>
</head>
<body>
<script type="text/javascript">
new Function("x,y","var sum; sum=x+y;return sum;");
var sum=add(4,8);
alert("sum="+sum);
</script>
</body>
</html>
17-Javascript(JS函数_匿名函数)
通常是函数的简写形式。
<html>
<head>
</head>
<body>
<script type="text/javascript">
var add3=function(a,b){ //给他取个名字。应用还挺广的。
return a+b;
}
alert(add3(7,8));
function haha(){
alert("haha run");
}
var xixi=haha;
或者也可以写作下面这种形式
var xixi=function()
{
alert("haha run");
}
</script>
</body>
</html>