第一章 Javascript核心基础语法
一、 为什么要使用JavaScript :
1. 服务器端动态网页最大缺陷:每次请求都要到服务器进行,加重服务器的负担;
2. 提高用户体验度,增加交互性。
二、 JavaScript和 JAVA 的区别:
1. JAVA从编码到运行经过:编译、类装载、字节码校验、解释器 ---> 运行。即需要编译 ---> 解释 ---> 运行。
2. JavaScript是一种解释型语言,代码存在于 HTML 网页中(或者外部连接),不需要编译即可以执行。解释特点:一行一行进行解释、执行。
3. 更多区别不再赘述。
三、 JavaScript的前景: HTML5+JavaScript
四、 JavaScript技术体系:
1. JavaScript核心语言定义。数据类型、常量、变量、运算符、语句等。
2. 原生对象和内置对象。
3. BOM(浏览器对象模型)
4. DOM(文档对象模型)
5. 事件模型
五、 JavaScript添加到 XHTML 文档中
1. 内嵌式:
1) <script type="text/javascript">JS代码 </script>
2) <noscript>当禁用了 JS 时,这行文字显示在页面上 </noscript>
3) 脚本隐藏:<script type="text/javascript"><!--JS 代码 --></script> ,当前浏览器如果不支持脚本,运行到 HTML 注释时进行跳过不显示信息;当浏览器支持 JS 脚本,运行到 script 标签将 HTML 解释器转换为 JS 解释器,忽略 HTML 注释,并运行脚本。
2. 外部链接<script type="text/javascript" src=""></script> 。当 type 限制了脚本类型,外联脚本扩展名无所谓。
3. 脚本放在事件属性中:<input type="button" onclick="alert('test')" value=" 点我 " />
4. 伪URL 方式: <a href="javascript:alert('test2')"> 点我 </a>
六、 JavaScript变量、常量
1. JavaScript是弱类型语言,定义变量时无需明确数据类型声明,而且变量并不一定要初始化。
2. 变量(空间现分配)。 var a;a=5(Number 类型 );a="string"(string 类型 )
3. 常量: const a=5; 这里如果没有初始化,类型就为 undefined
七、 JavaScript数据类型
(一) 原始数据类型 5 种:
1. Undefined类型:
没有被赋过值即未定义类型(没有分配空间)
如:a---> XX 当 a 为 undefined 时,空间没有分配
2. Null类型
空间已分配,但对象为空(引用数据类型)
如:a--> null 已分配,对象为空。
请看下列代码:
var num=null;
alert(typeof num);
返回object 类型 null 被认为是对象的占位符
3. Boolean
特别现象:(Chrome JavaScript 控制台 )
再看看其他情况:
""==false;
evaluating...
true
0==false;
evaluating...
true
总结(数据类型自动进行了转换):直接用== 判断 null/undefined 时,永远返回 false ,据说是设计 JavaScript 时规定的。。。
在if 条件中使用:
① 至少有一个字符的字符串、非0 数字或对象,返回 true
② 空字符串、0 、 null 、 undefined 返回 false 。
4. Number类型
① 可以表示32 为的整数,也可以表示 64 位的浮点数。
② Number类型的外边界及无穷(无穷不能参与计算):
Number.MAX_VALUE*100;
evaluating...
Infinity
③ 特殊值:NaN ( not a number )函数: isNaN()
NaN不能用于算术计算,而且与自身不相等
NaN==NaN;
evaluating...
false
0/0;
evaluating...
NaN
1.0/0;
evaluating...
Infinity
4/0;
evaluating...
Infinity
isNaN("dddss22");
evaluating...
true
isNaN("122");
evaluating...
false
而JAVA 中,当任何实型除以 0 ,都会抛出数学异常,浮点数除外: 1.0/0 -->Infinity
5. String类型
JavaScript没有字符类型,所以声明字符串可以用双引号或者单引号
6. 数据类型转换
① 自动转换:
"2"+1;
evaluating...
21
"2"-1;
evaluating...
1
② 转换数字的方法:parseInt() parseFloat() 只能对 string 类型转换,其他类型返回 NaN
parseInt("2dd");
evaluating...
2
parseInt("d2dd");
evaluating...
NaN
parseInt(true);
evaluating...
NaN
parseInt("1.5dd")
evaluating...
1
parseFloat("1.5dd")
evaluating...
1.5
练习:
a. Select标签中用 JavaScript 写出 1900--2000 的 option
<script type="text/javascript"> for(i=2000;i>=1900;i--){ document.write("<option value='"+i+"'>"+i+"</option>"); } </script>
b. JavaScript写出九九乘法表
两个FOR循环
<table border="1"> <tr> <script type="text/javascript"> for(i=1;i<=9;i++){ for(j=1;j<=9;j++){ document.write("<td>"+j+"*"+i+"="+j*i+"</td>"); if(j==i){ for(k=0;k<9-j;k++){ document.write("<td></td>"); } document.write("</tr>"); break; } } } </script> </table>
一个FOR循环
<table border="1"> <tr> <script type="text/javascript"> for(i=1,j=1;i<=9;j++){ document.write("<td>"+j+"*"+i+"="+j*i+"</td>"); if(j==i){ j=0; i++; document.write("</tr>"); } } </script> </table>
(二) 引用数据类型 - 对象
1. 对象分为:预定义对象和自定义对象;
预定义对象:
① 原生对象:如Object,Function,Array 等等
② 内置对象:Global Math
③ 宿主对象:DOM BOM
2. 概述:
① Object: JS 中所有对象的基“类”。属性: constructor 、 prototype
② 原始类型包装器:Boolean 、 Number 、 String 。
String.length 属性( JAVA 中 String 的 length() 是方法)
String.slice() <==>JAVA String.subString();
下面这句代码进行了类型转换:
num = "ABCD"; alert(num.slice(1,3));
③ Array:
1) 数组的初始化:arr=new Array();arr=new Array(5);arr=[1,"abcd",true];
2) 特点:
a. 自增长
b. 每个数组元素类型可以不同,因为JS 是弱类型语言,每个元素可以是任 意的数据类型
c. 当数组某几个元素没有初始化,返回undefined 。如:
arr = new Array();arr[0]=true;arr[7] = 2;alert(arr[5]); ==>返回 undefined
④ Date:getHours();getMinutes();getSeconds();
需要注意的是:month 默认从 0 开始,即现实中的 5 月份, getMonth() 返回 4
⑤ Global:需要记忆的方法有: parseInt parseFloat eval 等等
Eval:调用解释器解释、执行参数内的字符串;其重要性相对于: JAVA 中的反射。
事例:业务需要从服务器端传递一个数组到客户端:{1,2,3,4,5};
首先在服务器中将数组写为一个字符串:"[1,2,3,4,5]" 并传递到前台
在JS 中我们获取到这个字符串可以如下构造这个数组:
eval("var arr=[1,2,3,4,5]");alert(arr);
⑥ 函数
a. 关键字function + 函数名 + 形参列表 + 方法体
b. 因为JS 是弱类型语言,所以函数定义返回类型没有必要。
c. 几个特别的例子:
1. 调用有参数列表的函数,但是没有传递参数,返回undefined ,因为形参 没有初始化, undefined 计算还是 undefined
function a(b,c){return b+c;} alert(a());
2. 调用无参数列表的函数,但是传递了参数;函数有隐式的arguments 数组 获取参数
function a(){return arguments[0]+arguments[1];} alert(a(1,2));
3.
function a(){return arguments[0]+arguments[1];} var result=a; //复制指向这个方法体的指针 alert(result);//返回:function a(){return arguments[0]+arguments[1];} alert(result(1,9));
4. 匿名函数: var a=function(){};
发表评论
-
第八、AJAX基础
2009-07-01 20:42 1080第八章 AJAX基础 关于JavaScrip ... -
第七、JavaScript表单编程
2009-06-30 20:21 1018第七章 JavaScript表单编程 一、表单 ... -
第六、DOM操作样式表
2009-06-29 20:39 2280第六章 DOM操作样式表 一、操作style样 ... -
第五、文档对象模型DOM
2009-06-26 22:02 1521第五章 文档对象模型 一、理解DOM ... -
第四、浏览器对象模型BOM
2009-06-25 21:38 1233第四章 浏览器对象模型BOM 一、BOM简介 ... -
第三、JavaScript事件模型
2009-06-25 20:07 1683第三章 JavaScript事件模型 一、事件 ... -
第二、JavaScript面向对象编程
2009-06-25 20:02 926第二章 JavaScript面向对象编程 一 ...
相关推荐
下载网盘:...07 JavaScript核心编程 08 DOM编程 09 阶段项目03 10 服务器端开发技术 11 HTTP协议 12 HTML5高级 13 阶段项目04 14 JQUERY 15 AJAX 16 阶段项目05 17 Bootstrap 18 ANGULARJS 19 拓展进阶
《JavaScript从入门到精通》分为三篇:第一篇为JavaScript语法基础,主要包括JavaScript简介、如何实现JavaScript、数据类型、变量和常量、运算符、语句和函数等内容;第二篇为JavaScript对象,主要包括对象、核心...
在这个系列的视频中,我们将从最基础的HTML、CSS和JavaScript开始,并逐步介绍各种前端开发的核心概念和技术。我们还将学习如何使用流行的前端框架和工具,如React、Vue.js和Webpack等,来构建功能强大、响应迅速的...
在这个系列的视频中,我们将从最基础的HTML、CSS和JavaScript开始,并逐步介绍各种前端开发的核心概念和技术。我们还将学习如何使用流行的前端框架和工具,如React、Vue.js和Webpack等,来构建功能强大、响应迅速的...
在这个系列的视频中,我们将从最基础的HTML、CSS和JavaScript开始,并逐步介绍各种前端开发的核心概念和技术。我们还将学习如何使用流行的前端框架和工具,如React、Vue.js和Webpack等,来构建功能强大、响应迅速的...
在这个系列的视频中,我们将从最基础的HTML、CSS和JavaScript开始,并逐步介绍各种前端开发的核心概念和技术。我们还将学习如何使用流行的前端框架和工具,如React、Vue.js和Webpack等,来构建功能强大、响应迅速的...
其中包括:第一章 HTML基础 第二章 HTML基础(2).ppt 第三章 CSS样式表_语法规则 第四章 CSS样式表_样式控制 第五章 CSS样式表_盒子模型.ppt 第六章 CSS样式表_页面布局 第七章 Javascript基础语法 第八章 Javascript...
2.1 基础语法 19 2.1.1 数据类型 19 2.1.2 变量和常量 22 2.1.3 表达式 24 2.1.4 运算符 24 2.2 流程控制 27 2.2.1 条件语句 27 2.2.2 循环语句 30 2.2.3 其他语句 35 2.3 使用对话框 38 2.3.1 警告对话框 38 2.3.2 ...
JavaScript语法以流行的程序设计语言C、C++和Java为基础,因此,经验丰富的程序设计人员可以很快地熟悉和掌握。此外,JavaScript是一种解释性脚本语言,提供了比其他语言更加灵活、更加宽松的程序设计环境,程序设计...
JavaScript语法以流行的程序设计语言C、C++和Java为基础,因此,经验丰富的程序设计人员可以很快地熟悉和掌握。此外,JavaScript是一种解释性脚本语言,提供了比其他语言更加灵活、更加宽松的程序设计环境,程序...
2.1 基础语法 2.1.1 数据类型 2.1.2 变量和常量 2.1.3 表达式 2.1.4 运算符 2.2 流程控制 2.2.1 条件语句r 2.2.2 循环语句 2.2.3 其他语句 2.3 使用对话框 2.3.1 警告对话框 2.3.2 确认对话框 ...
JavaScript语法以流行的程序设计语言C、C 和Java为基础,因此,经验丰富的程序设计人员可以很快地熟悉和掌握。此外,JavaScript是一种解释性脚本语言,提供了比其他语言更加灵活、更加宽松的程序设计环境,程序设计...
第一篇完整地讲解了JavaScript的基础知识,主要内容包括JavaScript概述、数据类型、常量与变量、表达式与运算符、程序语句、函数和数组等。第二篇专门介绍JavaScript中内置对象的应用,内容包括JavaScript对象基础、...
JavaScript语法以流行的程序设计语言C、C++和Java为基础,因此,经验丰富的程序设计人员可以很快地熟悉和掌握。此外,JavaScript是一种解释性脚本语言,提供了比其他语言更加灵活、更加宽松的程序设计环境,程序...
第一篇完整地讲解了JavaScript的基础知识,主要内容包括JavaScript概述、数据类型、常量与变量、表达式与运算符、程序语句、函数和数组等。第二篇专门介绍JavaScript中内置对象的应用,内容包括JavaScript对象基础、...
JavaScript语法以流行的程序设计语言C、C++和Java为基础,因此,经验丰富的程序设计人员可以很快地熟悉和掌握。此外,JavaScript是一种解释性脚本语言,提供了比其他语言更加灵活、更加宽松的程序设计环境,程序...
全书一共12章:第1~3章介绍了JavaScript的基本语法,旨在帮助读者编写出正确的JavaScript程序,包含数字、算术、字符串、变量、程序结构、控制流程、类型、函数、对象和数组等最基础和最核心的内容;第4~7章讲解了...
JavaScript基础&BOM技术 Java Script由三个主要组成部分:ECMAScript(核心),BOM(浏览器对象模型),DOM(文档对象模型 注:ECMAScript描述了语法、类型、语句、关键字、保留字、运算符和对象。它就是定义了脚本...