JavaScript基本语法
来源:互联网 发布:闪电网络 原理 编辑:程序博客网 时间:2024/05/14 19:36
- 了解什么是脚本程序和JavaScript
- JavaScript的基本语法
- 运算符
- 程序的控制流程
- 函数
- 对象
- JavaScript的内部对象
【什么是脚本程序和JavaScript?】
什么是脚本程序?
html语言是一种标记语言,只能够定义内容的表现形式,不具有逻辑性,不能够与用户进行交互,例如接受用户通过文本框所输入的身份证号码,然后判断是否有数字以外的字母,如果有,则显示一个对话框提示用户重新输入。如果浏览器能够在解释html语言的基础上,还解释和运行嵌入在网页文件中的一种具有程序逻辑的语言,那么网页就能够像平时使用的windows程序一样与用户进行交互,网页的功能将会被大大的扩展,这种嵌套在html中的程序语言就被称之为脚本语言,这些程序就被称之为脚本程序。浏览器中要集成有用于解释脚本程序的模块,这就是脚本程序的解释器,也被称之为脚本引擎。脚本程序的代码需要放在html文档中的script标签对之间,当浏览器读取到script标记之后,就知道要把script标记之间的内容当作某种程序语言来进行解释执行,而不再把它们当作网页中的普通文本来看待。
使用<script>标签对嵌入脚本程序,script的language属性用于指定它里面的程序代码所用的脚本语言的类型,目前最常见的两种脚本语言是vbscript和javascript,
例如<script language="javascript">alert(new Date());</script>
//alert语句的作用是在浏览器窗口弹出一个对话框,显示alert的参数列表中的字符串。
脚本程序在什么时候执行呢?整个html文档是从上到下顺序执行的。一般情况下当浏览器打开一个html文档的时候,会从头到尾逐句解释整个文档中的html标签和脚本代码块,如果脚本代码块当中有可以直接执行的语句,浏览器则会在读取到这样的语句的时候马上进行解释执行。
这种嵌套在html网页文档中的脚本语言,完全是在浏览器上解释和运行的,与www服务器没有任何关系。
JavaScript简介
前身叫Livescript,是一种基于对象(Object)和事件驱动(Event Driven)、并具有安全性能的脚本语言。javascript的编程与C++和Java非常相似,只是还提供了一些自己专有的类、对象和函数。javascript代码并不会被编译为二进制的代码文件,而是作为html文件的一部分由浏览器解释执行,所以维护和修改起来非常方便,可以直接打开html文件来编辑和修改javascript代码,然后通过浏览器就可以立即看到修改后的效果。学习javascript不需要掌握复杂的编辑工具,只要使用许多操作系统都自带的文本编辑器和浏览器就可以了。学习javascript的难度不大。
JavaScript与Java的区别
他们是两个公司开发的两个不同的产品,作用与用途大不一样,但两者语法上有很多相似之处,javascript并不是Java的子集。
Java特别适合于Internet应用程序的开发,javascript是Netscape公司开发的脚本语言,是基于对象的但不是面向对象的语言。
JScript是微软开发的脚本语言,与javascript非常相似,ECMAScript是欧洲计算机制造商协会将JavaScript标准化后的脚本语言。
【JavaScript的基本语法】
脚本代码的位置,多种形式的脚本代码:
(1)放置在<script></script>标签之间,这是最常见的形式。script标签的位置不固定,可以出现在head和body的任何地方,在一个html文件中可以使用多个script标签对来嵌入多段javascript代码,每段JavaScript代码之间可以相互访问,这与用一个script标签嵌入所有javascript代码的效果是一样的。
(2)放置在一个单独的文件中,这个文件以js为扩展名,这种文件被称为javascript脚本文件。使用src属性来指向javascript脚本文件的URL地址,在html文档中引入javascript脚本文件这与第一种方式的效果是一样的。
(3)将脚本程序代码作为属性值。例如:<a href="javascript:alert(new Date());">javascript</a>
对于<input type=button value=test onclick="alert(new Date())"> 用来表示当用户单击按钮时,所要执行的脚本程序代码,onclick的属性值就是javascript代码。
说明一点:作为html标签的属性值的javascript代码中的最后一条语句结尾处的分号可以省略。
注释
在javascript标签对当中,会忽略html的注释符,注释方式与Java语法一致。
还可以这样注释:alert(a/*"a="+a*/); //将显示a的值
变量
(1)申明变量要使用var关键字,例如:var name;
(2)若申明的变量没有被赋初值,这时候变量的值是undefined。
(3)对已赋值的变量赋予一个其他类型的数据。例如:var name="zhangsan"; name=123;此时name就自动变成整数类型了。
(4)在javascript中可以不事先申明变量就直接使用。
例如:x=1234; x=x+1;alert(x+"22"); //将显示1234122
对比:var x=1234;x=x+1;alert(x+"22"); //将显示123522
【运算符】
【程序的控制流程】
【函数】
function 函数名(参数列表){...... return 表达式;}
例如:function testParams(x,y){ var sum; sum=x+y; return sum;}
参数个数可变的函数(使用arguments对象访问传递过来的所有参数)
函数内部可以使用一个名为arguments对象,这是一个数组对象,包含了调用程序传递给这个函数的所有参数。
创建动态函数
类似C语言中指向函数的指针的方式,被称之为动态创建的函数。
语法格式:var varName = new Function(argument1,......,lastArgument);
说明:所有的参数都必须是字符串型的,最后的参数必须是这个动态函数的功能程序代码。
例子:<script language="javascript"> var square = new Function("x","y","Var sum;sum=x*x+y*y;return sum;"); alert(square(3,2));</script>
思考:动态函数有什么用,在什么情况下用动态函数?
javascript中的系统函数
encode URI方法:返回对一个URI字符串编码后的结果(URL是最常见的一种URI),URI比URL的表示的概念更大。
decode URI方法:将一个已编码的URI字符串解码成最初始的字符串并返回。
parseInt方法:将字符串按照指定的进制转换成一个整数。语法格式:parseInt(numString,radix),第二个参数是可选参数,取值范围为2~36,用于指定进制。如果没有指定第二个参数,则前缀为'0x'的字符串被视为十六进制,前缀为'0'的字符串被视为八进制,所有其他字符串都被视为十进制。例如:parseInt("123abc",10); //结果是123,不能被转换为数字的字符abc被忽略掉
parseFloat方法:将一个字符串转换成对应的小数。
isNaN方法:用于检测parseInt和parseFloat方法的返回值是否是NaN,如果是就返回true,否就返回false。当使用parseInt来转换字符串,当字符串的开始部分不是数字字符,那么这两个方法对这个字符串进行的转换将会失败,返回NaN。
escape方法:返回对一个字符串进行编码后的结果字符串。所有空格、标点、重音符号以及任何其他非ASCII字符都用%xx编码替换,其中xx等于表示该字符的Unicode编码的十六进制数,字符值大于255的字符以%uxxxx格式存储。可用于对文本的简单加密。
unescape方法:用于将一个用escape方法编码的结果字符串解码成原始字符串并返回。
eval方法:将其中的参数字符串作为一个javascript的表达式执行。使用eval方法可以在程序中动态地产生表达式,可以达到与动态函数类似的功能效果。
【对象】
构造函数的形式跟普通函数没有区别。
function Person(){}
var person1= new Person(传递给该对象的实际参数列表);
成员变量:
person1.age; //若person1.age是第一次出现,javascript会自动认为age是person1的新增加的对象成员,可以为对象实例无限制地添加新的成员
person1.age=18;等同于person1[“age”]=18; 例如:function get(attr){ alert(person1[attr]); } get("age");
成员函数:
function sayFunc(){}
person1.say=sayFunc; //定义成员函数
person1.say(); //成员函数被调用时执行sayFunc。
this关键字
为一个对象实例新增加的属性和方法,不会增加到同一个对象所产生的其他对象实例上。
所有的实例对象在创建后都会自动调用构造函数,在构造函数中增加属性和方法会被增加到每个对象实例上。
对象实例是用new关键字创建的,在构造方法中不要有返回结果的return语句。
调用对象的成员方法时,需要使用“对象实例,成员方法”的形式,很显然,用作成员方法的函数被调用时,一定伴随着某个对象实例。this关键字代表某个成员方法执行时,引用该方法的当前对象实例,所以this关键字一般只在用作对象成员方法的函数中出现。
【javascript的内部对象】
每个内部对象都有一些方法和属性,可以实现非常强大的功能。
动态对象:使用new创建一个对象实例,然后使用“对象实例名.成员"的格式来访问其属性和方法。
静态对象:直接使用”对象名.成员"的格式来访问属性和方法。
最常用的内部对象:
Object对象:提供了一种创建自定义对象的简单方式,不需要程序员再定义构造函数。例如var person = new Object(); person.name;
String对象:length属性(字符串中字符个数),anchor、big、bold、fontcolor、link等方法(可用于为字符串添加其在web页面中的显示效果的标签),charAt方法,charCodeAt方法,indexOf方法,lastIndexOf方法,match、search方法(用于正则表达式),replace、split方法,slice方法(返回在一个字符串中的两个位置之间的子字符串),substr、substring方法,toLowerCase、toUpperCase方法。
- JavaScript基本语法B
- javascript基本语法
- JavaScript基本语法
- javascript基本语法总结
- 《javaScript基本语法》
- javascript基本语法
- JavaScript的基本语法
- JavaScript基本语法
- JavaScript(一基本语法)
- JavaScript基本语法总结
- javascript基本语法
- JavaScript 基本语法
- Javascript入门基本语法
- javascript基本语法
- JavaScript基本语法
- JavaScript的基本语法
- JavaScript 基本语法
- javascript及基本语法
- CSS层叠样式表
- 有关loadDataWithBaseURL的讲解
- 分享:matlab实现车牌字符分割与识别
- java + selenium测试框架(之测试驱动) 版本演化三
- struts2文件上传下载
- JavaScript基本语法
- C#程序以管理员权限运行
- UML实践----用例图、类图、对象图、顺序图、协作图、状态图、活动图、组件图、配置图
- 变量存储类型
- NBUT 1553 Beautiful Wall
- 继承IHttpHandler实现全局图片水印
- js事件绑定 onclick && addEventListener
- svn恢复到指定版本操作
- JSP四种作用范围pageContext、request、session、application 一看就懂