1.JavaScript简介1.1.JavaScript由来JavaScript 是属于网络的脚本语言!JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。
JavaScript 是因特网上最流行的脚本语言。
注: 1.javascript运行必须依赖于宿主环境语言,即页面语言HTML。
2.是解释型的语言,解释型:不需要编译,解释器程序会每读取一条语句就执行。
运行速度慢,JavaScript是基于对象和事件的脚本语言。
1.2.JavaScript特点1.安全性(不允许直接访问本地硬盘),它可以做的就是信息的动态交互。
2.跨平台性。
(只要是可以解释Js的浏览器都可以执行,和平台无关。
)1.3.JavaScript与Java不同1.JS是基于对象,Java是面向对象。
2.JS只需解释就可以执行,Java需要先编译成字节码文件,再执行。
3.JS是弱类型,Java是强类型。
javascript声明变量不需要明确是何种数据类型,任何的变量都是使用一个关键字var去声明即可,变量类型取决于存储的数据的类型。
1.4.JavaScript内容尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,一个完整的JavaScript 实现是由以下 3 个不同部分组成的:目前我们学习JavaScript也就是需要学习:JavaScript语法基础使用JS操作网页(DOM)使用JS操作浏览器(BOM)1.5.体验JavaScriptjavascript常用的函数:alert("显示的内容..") ; 弹出框document.write("数据") ; //向页面输出数据...2.JavaScript基础2.1.语法2.1.1.引入方式与引入位置向HTML页面插入JavaScript的主要方法,就是使用<script元素>。
使用<script>元素的方式有两种:直接在HTML页面中嵌入JavaScript代码和包含外部的JavaScript 文件。
1.JS代码存放在标签对<script>...</script>中。
2.使用script标签的src属性引入一个js文件。
(方便后期维护,扩展)例:<script src=”test.js” type=”text/javascript”></script>注:规范中script标签中必须加入type属性。
内部<html ><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>在HTML中使用JavaScript</title></head><body><h1>在页面中嵌入JavaScript</h1><script type="text/javascript">window.document.write("hello,world");</script></body></html>外部html文件JavaScript文件JavaScript代码<script>标签的位置关于<script>标签的位置,<script>应该放在页面的<head>元素中。
<html >注意:1、页面上可以有多个<script>标签2、<script>标签按顺序执行3、<script>标签可以出现在任意的页面位置4、<script>标签一定要写</script>关闭,而不能<script/>这样关闭。
否则没有任何错误信息,但是没有运行结果。
2.1.2.区分大小写与 Java 一样,变量、函数名、运算符以及其他一切东西都是区分大小写的。
比如:变量 test 与变量 TEST 是不同的。
2.1.3.注释Java: // /* */ /** */HTML: <!-- -->CSS: /* */JavaScript:有两种类型的注释:单行注释以双斜杠开头(//)多行注释以单斜杠和星号开头(/*),以星号和单斜杠结尾(*/)2.2.常用函数window.alert() 或写为 alert() :显示一个提示框显示内容。
window.document.write() :在网页的当前位置处写内容。
2.3.变量变量是弱类型的与 Java不同,ECMAScript 中的变量无特定的类型,定义变量时只用 var 运算符,可以将它初始化为任意值。
因此,可以随时改变变量所存数据的类型(尽量避免这样做)。
例子var color = "red";var num = 25;var visible = true;ECMAScript 中的变量是用 var 运算符(variable 的缩写)加变量名定义的。
例如:var test = "hi";在这个例子中,声明了变量 test,并把它的值初始化为 "hi"(字符串)。
每个变量仅仅是一个用于保存值的占位符而已。
定义变量时要使用var操作符(var是关键字),后跟变量名var message;这行代码定义了一个名为message的变量,该变量可以用来保存任何值,也可以直接初始化变量。
var message ="hi";ECMAScript 中的变量无特定的类型,定义变量时只用 var 运算符,可以将它初始化为任意值。
同时,可以随时改变变量所存数据的类型(尽量避免这样做)。
在ECMAScript是有效的,但是不建议这样使用。
使用细节:1、var关键字在定义变量的时候可以省略不写2、变量名可以重复,后面的将覆盖前面的变量3、变量的类型取决于值的类型一条语句定义多个变量。
2.4.数据类型2.4.1.typeof操作符ECMASCRIPT 中有4种基本数据类型:Undefined, Boolean,Number和String Typeof typeof c关键字typeof可以获取一个变量的类型。
类型的总结:所有的数值都是number类型字符和字符串都是string类型布尔是boolean类型如果一个变量没有初始化值的时候,其类型为undefined类型。
表示没有定义。
使用细节:浮点数:要定义浮点值,必须包括小数点和小数点后的一位数字(例如,用 1.0 而不是 1)。
这被看作浮点数字面量。
例如:由于保存浮点数需要的内存空间是保存正数值的两倍,因此ECMAScrip会将浮点数值转换为整数值。
如果小数点后没有跟任何数字和浮点数本身就是一个整数就会被转换为整数。
转换成数字ECMAScript 提供了两种把非数字的原始值转换成数字的方法,即parseInt() 和parseFloat()。
只有对 String 类型调用这些方法,它们才能正确运行;对其他类型返回的都是 NaN。
在判断字符串是否是数字值前,parseInt() 和 parseFloat() 都会仔细分析该字符串。
parseInt() 方法首先查看位置 0 处的字符,判断它是否是个有效数字;如果不是,该方法将返回 NaN,不再继续执行其他操作。
但如果该字符是有效数字,该方法将查看位置 1 处的字符,进行同样的测试。
这一过程将持续到发现非有效数字的字符为止,此时parseInt() 将把该字符之前的字符串转换成数字。
例如,如果要把字符串 "12345red" 转换成整数,那么 parseInt() 将返回字符串中包含的数字字面量会被正确转换为数字,比如 "0xA" 会被正确转换为数字isNaN2.5.运算符(operator)2.5.1.算术加法运算符加法运算符由加号(+)表示:ECMAScript 中的加法也有一些特殊行为:某个运算数是 NaN,那么结果为 NaN。
字符串拼接如果两个运算数都是字符串,把第二个字符串连接到第一个上。
如果只有一个运算数是字符串,把另一个运算数转换成字符串,结果是两个字符串连接成的字符串。
例如:var result = 5 + 5; //两个数字alert(result); //输出 "10"var result2 = 5 + "5"; //一个数字和一个字符串alert(result); //输出 "55"注意:注意:变量是布尔类型的时候,true=1, false=0;乘法运算符乘法运算符由星号(*)表示,用于两数相乘。
ECMAScript 中的乘法语法与 Java语言中的相同:注释:如果运算数是数字,那么执行常规的乘法运算,即两个正数或两个负数为正数,两个运算数符号不同,结果为负数。
除法运算符除法运算符由斜杠(/)表示,用第二个运算数除第一个运算数:var iResult = 88 /11;注意:如果两个整数相除不能整数的时候结果还是小数。
2.5.2.比较比较运算符小于、大于、小于等于和大于等于执行的是两个数的比较运算var bResult1 = 2 > 1 //truevar bResult2 = 2 < 1 //false比较数字和字符串var bResult = "25" < "3";alert(bResult); //输出 "true"上面这段代码比较的是字符串 "25" 和 "3"。
两个字符串在比较的时候比较的是两个字符串对应的字符顺序.注意:如果字符串与比较,会把字符串转成数字再进行比较。
字符串与字符串的比较规则是:情况1:能找到对应位置上的不同字符,那么就比较第一个不同字符的大小。
情况2:不能找到对应位置上的不同字符,这时候比较的是两个字符串的长度。
document.write("190字符串大于19字符串吗?"+("190">"19")+"<br/>"); //字符串与字符串比较如果把某个运算数改为数字,那么结果就不一样了:var bResult = "25" < 3;alert(bResult); //输出 "false"这里,字符串 "25" 将被转换成数字 25,然后与数字 3 进行比较,结果不出所料。