`
senny
  • 浏览: 16299 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

第一、Javascript核心基础语法

阅读更多

 

第一章  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(){};

  • 大小: 4.2 KB
0
0
分享到:
评论

相关推荐

    html5入门到精通 视频教程

    下载网盘:...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从入门到精通(第2版)( (美)Steve Suehring)中文pdf

    《JavaScript从入门到精通》分为三篇:第一篇为JavaScript语法基础,主要包括JavaScript简介、如何实现JavaScript、数据类型、变量和常量、运算符、语句和函数等内容;第二篇为JavaScript对象,主要包括对象、核心...

    01-JavaScript-第5天{JS基础语法}.zip

    在这个系列的视频中,我们将从最基础的HTML、CSS和JavaScript开始,并逐步介绍各种前端开发的核心概念和技术。我们还将学习如何使用流行的前端框架和工具,如React、Vue.js和Webpack等,来构建功能强大、响应迅速的...

    01-JavaScript-第3天{JS基础语法}.zip

    在这个系列的视频中,我们将从最基础的HTML、CSS和JavaScript开始,并逐步介绍各种前端开发的核心概念和技术。我们还将学习如何使用流行的前端框架和工具,如React、Vue.js和Webpack等,来构建功能强大、响应迅速的...

    01-JavaScript-第4天{JS基础语法}.zip

    在这个系列的视频中,我们将从最基础的HTML、CSS和JavaScript开始,并逐步介绍各种前端开发的核心概念和技术。我们还将学习如何使用流行的前端框架和工具,如React、Vue.js和Webpack等,来构建功能强大、响应迅速的...

    01-JavaScript-第2天{JS基础语法}.zip

    在这个系列的视频中,我们将从最基础的HTML、CSS和JavaScript开始,并逐步介绍各种前端开发的核心概念和技术。我们还将学习如何使用流行的前端框架和工具,如React、Vue.js和Webpack等,来构建功能强大、响应迅速的...

    web开发基础教程

    其中包括:第一章 HTML基础 第二章 HTML基础(2).ppt 第三章 CSS样式表_语法规则 第四章 CSS样式表_样式控制 第五章 CSS样式表_盒子模型.ppt 第六章 CSS样式表_页面布局 第七章 Javascript基础语法 第八章 Javascript...

    javascript完全学习手册1 源码

    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权威指南第五版

    JavaScript语法以流行的程序设计语言C、C++和Java为基础,因此,经验丰富的程序设计人员可以很快地熟悉和掌握。此外,JavaScript是一种解释性脚本语言,提供了比其他语言更加灵活、更加宽松的程序设计环境,程序设计...

    JavaScript权威指南第五版(JavaScript_The_Definitive_Guide_5th.chm)

    JavaScript语法以流行的程序设计语言C、C++和Java为基础,因此,经验丰富的程序设计人员可以很快地熟悉和掌握。此外,JavaScript是一种解释性脚本语言,提供了比其他语言更加灵活、更加宽松的程序设计环境,程序...

    javascript完全学习手册2 源码

    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权威指南第五版【新】(犀牛书)

    JavaScript语法以流行的程序设计语言C、C 和Java为基础,因此,经验丰富的程序设计人员可以很快地熟悉和掌握。此外,JavaScript是一种解释性脚本语言,提供了比其他语言更加灵活、更加宽松的程序设计环境,程序设计...

    21天学通JavaScript 源代码2(有一部分在源码1文件中)

    第一篇完整地讲解了JavaScript的基础知识,主要内容包括JavaScript概述、数据类型、常量与变量、表达式与运算符、程序语句、函数和数组等。第二篇专门介绍JavaScript中内置对象的应用,内容包括JavaScript对象基础、...

    JavaScript入门经典教程第4版源码

     JavaScript语法以流行的程序设计语言C、C++和Java为基础,因此,经验丰富的程序设计人员可以很快地熟悉和掌握。此外,JavaScript是一种解释性脚本语言,提供了比其他语言更加灵活、更加宽松的程序设计环境,程序...

    21天学通JavaScript 源代码1(还有10章在源代码2文件)

    第一篇完整地讲解了JavaScript的基础知识,主要内容包括JavaScript概述、数据类型、常量与变量、表达式与运算符、程序语句、函数和数组等。第二篇专门介绍JavaScript中内置对象的应用,内容包括JavaScript对象基础、...

    JavaScript权威指南第四版

    JavaScript语法以流行的程序设计语言C、C++和Java为基础,因此,经验丰富的程序设计人员可以很快地熟悉和掌握。此外,JavaScript是一种解释性脚本语言,提供了比其他语言更加灵活、更加宽松的程序设计环境,程序...

    JavaScript编程精解

    全书一共12章:第1~3章介绍了JavaScript的基本语法,旨在帮助读者编写出正确的JavaScript程序,包含数字、算术、字符串、变量、程序结构、控制流程、类型、函数、对象和数组等最基础和最核心的内容;第4~7章讲解了...

    JavaScript基础&BOM,学习Java第42天

    JavaScript基础&BOM技术 Java Script由三个主要组成部分:ECMAScript(核心),BOM(浏览器对象模型),DOM(文档对象模型 注:ECMAScript描述了语法、类型、语句、关键字、保留字、运算符和对象。它就是定义了脚本...

Global site tag (gtag.js) - Google Analytics