您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 基础医学 > 40JavaScript基础知识
JavaScript第一章JavaScript概述第一节JavaScript简介一、JavaScript是什么?JavaScript是一种基于对象(内置了许多对象)和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。•知识扩充:1、事件驱动:用户与网页交互时产生的操作,称为事件。事件可以由用户引发,也可能是页面发生改变,甚至还有你看不见的事件(如Ajax的交互进度改变)。绝大部分事件都由用户的动作所引发,如:用户按鼠标的按键,就产生click事件,若鼠标的指针在链接上移动,就产生mouseover事件等等。在JavaScript中,事件往往与事件处理程序配套使用。2、客户端脚本语言:不同于服务器端脚本语言,例如PHP与ASP,JavaScript是客户端脚本语言,也就是说JavaScript是在用户的浏览器上运行,不需要服务器的支持而可以独立运行。JavaScript是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。解释语言的弱点是安全性较差,而且在JavaScript中,如果一条运行不了,那么下面的语言也无法运行,并且速度较慢。二、JavaScript发展历史:1、1995年2月,就职于NetScape公司布兰登艾奇,开发一种名为LiveScript的脚本语言,为了赶在发布日期前完成LiveScript的开发,NetScape与Sun公司建立了一个开发联盟。为了搭上媒体热炒的Java的顺风车(当时Java已经很火),临时把LiveScript改名为JavaScript(1.0)。2、此时,微软在其InternetExplorer3中加入了名为JScript的JavaScript实现(命名为JScript是为了避开与NetScape有关的授权问题)。3、微软推出JScript后,JavaScript出现了3个不同的版本:NetScapeNavigator中的JavaScript、InternetExplorer中的JScript和ScriptEase中的CEnvi。当时没有标准规定JavaScript的语法和特性,3个版本并存的局面已经暴露了这个问题(不兼容问题)。所以,JavaScript的标准化问题被提上了议事日程。4、1997年,欧洲计算机制造商协会(ECMA)完成了——ECMA-262(发音“ek-ma-script”)的新脚本语言的标准。5、以后,浏览器开发商就开始致力于将ECMAScript作为各自JavaScript实现的基础,也在不同程度上取得了成功。注:虽然JavaScript和ECMAScript通常都被人们用来表达相同的含义,但JavaScript的含义却比ECMA-262中规定的多得多。一个完整的JavaScript实现由下列3个不同的组成部分:核心(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM)。三、JavaScript开发及运行环境1、开发环境:JavaScript是一种脚本语言,代码不需要变异成二进制,而是以文本的形式存在,因此任何文本编辑器都可以作为其开发环境,比如记事本(虽然很少人使用)、EditPlus、UltraEdit(UE)、Dreamweaver等。2、运行环境:JavaScript依赖于浏览器,即浏览器是JavaScript的运行环境。当前主流浏览器都能运行今后学习的JavaScript代码,若出现浏览器兼容问题,到时会请同学们注意。不同的编辑器会对语法进行简单的错误识别,不同的浏览器也提供对JavaScript程序的调试功能。问:还记得当前主流的浏览器吗?注意:一个页面中只要一个地方JavaScript语法错误,则整个JavaScript程序都不执行。为我们找错和调试带来了困难。第二节定义和使用JavaScript方式1、定义方式(1)嵌入HTML文件中一般放在head/head(事实上可以放在任何位置)中,格式:scripttype=text/javascript//此处为JavaScript代码/script(2)定义专门的外部文件将JavaScript代码写在一个独立的脚本文件(扩展名为.js)中,在页面中使用时直接导入该脚本文件即可,导入的格式:scripttype=text/javascriptsrc=要导入的js文件.js/script注意:不能这么写:scripttype=text/javascriptsrc=要导入的js文件.js/错误!必须有结束标签•知识扩充:除了上面两种最为常用的方式外,还可以在一下地方定义JavaScript代码:(1)在HTML的元素事件属性中比如,按钮的单击事件,代码:inputtype=buttononclick=javascript:js脚本代码/示例:(2)在超链接中定义语法:ahref=javascript:js脚本代码超链接/a示例:效果:2、一个简单的JavaScript的例子(1)嵌入到HTML文件中单击后显示的效果(2)定义专门的js文件A、定义一个扩展名为.js的文件,其中定义如下代码:B、定义一个HTML文件,导入该外部js文件,并调用js文件中的代码:C、单击“按钮”后,同样实现效果:三、作业1、在HTML嵌入一段JavaScript代码,并定义一个按钮,当点击按钮时,弹出“欢迎学习JavaScript”。2、将上题的JavaScript代码放在单独的js文件中,运行。第二章JavaScript语言基础一、对一些问题的说明:1、区分大小写:JavaScript中的变量、函数名和操作符都区分大小写,关键字不能做变量或函数名字。所以,test和Test是两个变量,typeof因是关键字所以不能是函数名或者变量名。2、标识符:就是变量、函数、属性、函数的参数等。规定:(1)第一个字符必须是字母、下划线(_)、美元符号($)。(2)其他字符可以是字母、下划线、美元符号或数字。第一节:数据类型、变量和运算符3、注释:包括单行注释和多行注释。(1)单行注释://如://这是一个单行注释(2)多行注释/**/如:/**这是一个多行注释*/4、语句:JavaScript中语句以一个;结尾(英文分号)。但可以省略;。比如:注:分号虽不是必须的,但建议必须加上它,这样可以提高效率(解析器不必再花时间推测应该在哪里插入分号了)和避免错误。5、在控制语句中,单行语句可以不加{}(不放在代码块中),但强烈加上——即使代码块中只有一条语句。多行语句如果放在一个代码块中执行,必须加{}二、数据类型JavaScript是弱类型脚本语言,使用变量之前,无须定义,想使用某个变量时直接使用即可,JavaScript会根据需要自动确定数据类型和进行数据类型的转换,但每个变量还是要确定数据类型的。JavaScript中数据类型基本数据类型(简单数据类型)和复合数据类型(复杂数据类型)两类,不同大类下面又有自己的小类,如下表:大类数据类型说明基本数据类型数值类型(Number)包含整数和浮点数布尔类型(Boolean)只有true和false两个值【两个值小写】字符串类型(String)表示一个字符序列,必须使用单引号('')或双引号()括起来Undefined类型(Undefined)用来确定一个已经创建但还没有赋初值的变量,只有一个值为:undefined【小写】Null类型(Null)表名某个变量的值为空,只有一个值为:null【小写】复合数据类型Object类型(Object)该类型的值为对象,对象由一些列属性(变量)和方法(函数)的集合,访问它们时用:.(英文点号)数组(Array)一系列的变量组成函数(Function)包含一段可执行的代码1、typeof操作符:用来检测给定变量的数据类型对一个值使用typeof操作符可能返回下列某个字符串之一:(1)undefined:值未定义时。(2)boolean:值是布尔值时。(3)string:值是字符串时。(4)number:值是数值时。(5)object:值是对象或者null(代表空对象引用)。(6)function:值是函数时。示例:注:A、typeof操作符的操作数可以是变量也可以是数值字面量。如:B、因typeof是一个操作符而不是函数,所以可以使用小括号(())将操作数括起来,也可以不使用,如:C、typeof(null)返回值是object,原因在于特殊值null被认为是一个空对象的引用(一个对象为空时,值是null)。上页中有例子。2、Undefined类型:该类型只有一个值,即特殊的undefined。在使用var声明变量但未对其加以初始化时,这个变量值就是undefined。(注意值为小写,JS大小写敏感)。示例:知识扩充:包含undefined值的变量和尚未定义的变量是不一样的。例如:对于尚未声明的变量,可以使用typeof操作符检测其数据类型。返回值也为:undefined值,和定义后未赋初值的变量一样。即使用一个未定义的变量时没有值,但其类型为Undefined。建议:定义一个变量时显式地初始化变量。3、Null类型:只有一个值,即:null。null值表示一个空对象(这正是使用typeof检测null值会返回“object”)。如:知识扩充:如果定义的变量准备将来用于保存对象,那么最好将该变量初始化为null而不是其他值。这样,直接检查null值就可以判断相应的变量是否已经保存了一个对象的引用:varcar=null;//其他操作if(car!=null){//前提是car已赋初值null//对car进行某些操作}另:4、Boolean类型:该类型有两个值:true和false。(必须全是小写)可以将其他值通过Boolean()函数转换为Boolean类型,返回值取决于要转换值的数据类型和实际值。其他类型转为Boolean类型的规则:数据类型转换为true值转换为false值BooleantruefalseString任何非空字符串(空字符串)Number任何非零数字值(包括无穷大)0和NaNObject任何对象nullUndefined————undefined知识扩充:使用流控制语句(比如if语句)时,会将其他值自动转换为相应的Boolean转换(根据相应的数据类型和对应的值)。比如:运行结果:5、Number类型:包括整数和浮点数值(双精度数值)。除了常用的十进制外,还可以表示八进制和十六进制。八进制的第一位必须是0,后跟(0~7),十六进制前两位是0x,后跟(0~9及A~F)。八进制和十六进制表示的数值最终将被转换为十进制。(1)浮点数值:该数值中必须包含一个小数点。–varnum1=1.1;–varnum2=0.1;–varnum3=.1;//有效,但不推荐。如果数值只有小数部分,则可以省略整数部分的0。(2)数值转换:2个函数将非数值转换为数值:parseInt():用于将字符串转换成整数数值。parseFloat():用于将字符串转换成浮点型数值。parseInt():将字符串转换为整数。规则:A、它会忽略字符串前面的空格,直至找到第一个非空格字符,如果第一个字符不是数字字符或者负号,则返回NaN。B、转换空字符串返回NaN。C、如果第一个字符是数字字符,会接着进行解析,直到完成或者遇到非数字字符。D、使用该函数的第二个参数指定转换时要转成的进制数。指定基数会影响到转换的输出结果:parseFloat():将一个字符串转成浮点数。和parseInt基本相同,区别:(1)字符串中的第一个小数点是有效的,第二个小数点是无效的,后面的字符串会被忽略。“22.34.5”转成22.3(2)始终会忽略前导0(把前导0直接去掉),十六进制数始终被转成0,只解析十进制数,所以没有第二个参数。即只能转成十进制(3)字符串中没有小数点或小数点
本文标题:40JavaScript基础知识
链接地址:https://www.777doc.com/doc-3218023 .html