JavaSpcript(上)
JavaSpcript是基于对象和事件驱动的脚本语言,也是非严谨性语音。主要应用在客户端。
JavaSpcript与Html相结合的方式:
1、将JavaScript代码封装到<script>
标签
< script type="text/javascript" >
...
</script>
2、将 JavaSpcript代码封装到js文件中,并通过<script>
中的src属性进行导入
< script type="text/javascript" src="">
注意:如果<script>
标签中使用src属性,那么该标签中封装的 JavaSpcript代码不会被执行。所以通常导入js文件都是用单独<script>
来完成
语法
通常高级程序设计语言所包含的语法内容:
1、关键字:该种语言中被赋予了特殊含义的单词。
2、标识符:用于标识数据跟表达式的符号。通常可以理解为在程序中自定义的名称。如变量名,函数名。
3、注释:注解说明解释程序,用于调试程序
4、变量:用于标识内存中一片空间。用于存储数据,该空间中的数据是可以变化的。当数据不确定时用变量。
5、运算符:可以让数据进行运算的符号。
6、语句:用于对程序的运行流程进行控制的表达式。
7、函数:用于对功能代码进行封装,便于提高复用性。
8、数组:对多数据进行存储,便于操作,也就是容器。
9、对象:只要是基于对象或者面向对象的语音,就存在对象的概念,对象就是一个封装体。既可以封装数据又可以封装函数。
- js中定义变量
关键字:var(注意,单引号和双引号均为字符串,可互相嵌套)
var x=3;
- 算术运算符细节:
“12”+1 = 121
“12”-1 = 11
true + 1 = 2
js中 false就是0或null,否则为 true(默认为 1) - 逻辑运算符细节(!、&&、||)
&与&&:&显示的是0或1、&&显示false或true - 位运算符(&、|、^)
- 小细节:
1、undefined:未定义,其实就是一个常量
2、获取具体值的类型,可以通过typeof()来完成 - 选择语句(switch)
无论default与case位置如何,总是先执行第一个case,最后执行default。 - 将数据直接写在当前页中
使用文档对象:document,其有若干内置方法
例:
document.write("<font color='red'>x="+x+"</font><br/>);
或:
document.write("<font color='red'>");
document.write("x="+x+"<br/>");
document.write("</font>");
- 数组
特点:
1、长度是可变的,不存在越界。
2、元素的类型是任意的
js中的数组定义的两种方式
1、var arr = [];
var arr = [1,2,3];
2、使用js中的Array对象来完成定义。
var arr = new Array(); //var arr = [];
var arr = new Arraay(5); //数组定义并长度是5
var arr = new Array(5,6,7); //定义一个数组,元素是5,6,7。
- 字典
var map = {
1:"xiaoqiang",name:"zhangsan"
}
//使用
1、map["name"];
2、map[1];
3、map.name;(键为数字时不可用)
- 函数
1、一般函数
格式:
function 函数名(形式参数(不用写类型)...)
{
执行语句;
return 返回值;
}
注意:
1)调用有参数的函数,但没有给其传值,函数一样可以运行;或者调用没有参数的函数,给其传值,该函数也可以运行。只要写了函数名后面跟了一对小括号,该函数就会运行.
2)函数中有一个数组在对传入的参数进行存储,这个数组是arguments,因此传入多参数时也能运行
3)
var sum=getSum();
getSum函数运行,并将结果赋值给sum
var sum = getSum;
getSum本身是一个函数名,而函数本身在js中是一个对象。getSum就是这个函数对象的引用。将getSum这个引用的地址赋值给sum,这时sum也指向了这个函数对象。相当于这个函数对象有两个函数名。若打印函数名,则会将该函数对象的字符串形式打印出来。
2、动态函数
使用的是js中内置的一个对象Function。参数列表和函数体都是通过字符串动态指定的
var add=new Function("x,y","var sum;sum=x+y; return sum;);
var sum = add(4,8);
3、匿名函数
没有名字的函数,通常是函数的简写形式。
var add = function (a,b){
return a+b;
}
注意:当数组变量以实参的方式传入函数,并被函数所改变,则该变量也会随着改变
- 全局和局部变量
-全局变量
如果在当前标签下定义了一个变量,即使是在for循环内定义,其在该脚本页面内均有效。
-局部变量
在函数内定义的变量仅在函数内部有效