javascript语法基础系列之基本概念


javascript语法基础系列之基本概念

JS 简介

javascript 内容的引入

如何在静态页面上做出如下动态特效:
1、亲切的欢迎讯息
2、漂亮的数字钟
3、有广告效果的跑马灯及简易的选举
4、轮流播放的图片
5、对客户端数据进行验证

javascript 是什么东东?

JavaScript主要用于HTML的页面,嵌入在HTML的源码中。
JavaScript是因特网上最流行的脚本语言,它存在于全世界所有的Web浏览器中,能够增强用户与Web站点和Web应用程序之间的交互。
JS是弱类型语言,没有类型声明,它的变量不必具有一个明确的类型。
JS是脚本语言。换句话说,能够用来编程的并且直接执行源代码的语言,就是脚本语言。
JS也是解释性的语言。何为解释性语言?是在运行的时候将程序直接翻译成机器语言。
JS是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言,可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。
HTML5的出现更是突出了JavaScript的重要性,例如HTML5的绘图支持、本地存储、离线应用、客户端通信等,都大量使用了JavaScript。

javascript 的历史?

网景公司在上个世纪的1995年,凭借其Navigator浏览器,成为Web时代开启时最著名的第一代互联网公司。由于网景公司希望能在静态的HTML页面添加一些动态的效果,于是叫Brendan Eich这哥们在两周之内设计出了JavaScript语言。为什么起名叫JavaScript?原因是当时Java语言非常红火,所以网景公司希望借Java的名气来推广,但事实上,JavaScript除了语法上有点像Java,其他部分基本上没啥关系。就像雷锋与雷峰塔的关系。

javascript的特点

1、简单性:它是基于Java基本语句和控制流之上的简单而紧凑的设计,是学习Java的好过渡,而且,它的变量类型是采用弱类型,未采用严格的数据类型。
2、安全性:JS不允许访问本地硬盘,不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览和动态交互,从而有效的防止数据的丢失。
3、动态性:JS可以直接对用户或客户输入做出响应,无须经过Web程序。它对用户的响应通过以事件驱动的方式进行,即由某种操作动作引发响应的事件响应,如:点击鼠标、移动窗口、选择菜单等。
4、跨平台:JS依赖浏览器本身,与操作环境无关。只要能运行浏览器 的计算机,并安装了支持JS的浏览器就可以正确执行,从而实现了“编写一次,走遍天下”的梦想。

javascroipt 的组成

JavaScript是由ECMAScript、文档对象模型(Document Object Model: DOM)、浏览器对象模型(Browser Object Model:BOM)三部分构成,其核心是ECMAScript,它描述了该语言的语法和基本对象;DOM描述了处理网页内容的方法和接口,通过DOM,可以访问所有的HTML元素,连同它们所包含的文本和属性,可以对其中的内容进行修改和删除,同时也可以创建新的元素;BOM描述了与浏览器进行交互的方法和接口,BOM提供了独立于内容而与浏览器窗口进行交互的对象,例如可以移动,调整浏览器窗口大小的window对象,可以用于导航的location对象和history对象,可以获取浏览器,操作系统与用户屏幕信息的navigator与screen对象,可以使用document作为访问HTML文档的入口,管理框架的frames对象等。

JS 注释

1
2
3
4
// 单行注释
/*
* 多行注释
*/

JS的引入方式

1.外部的js代码
标签里面src=””;中添加链接
注:如果链接了外部JS文件,script标签内部的JS代码就不会执行了
2.内部添加JS代码
直接将js语句写在 标签内部
注:script 标签可以有多个,将按顺序执行

JS的输出方式

1.页面输出

1
document.write("sunck is a nice man"); // document可以在页面中输出标签的内容

2.控制台输出

1
console.log("sunck is a good man"); // 只能将标签以字符串的形式输出

3.提示框输出

1
alert("sunck is a handsome man"); // 只能将标签以字符串的形式输出

JS 标识符

1.含义:一串字符串(字符串未必是标识符)
2.作用:用来给变量函数等命名的
3.规则:
· 由字母,数字,下划线和$组成
· 不能以数字开头
· 不能是JS中的关键字和保留字
· 区分大小写
· 遵循驼峰原则(funName)第一个首字母小写,后面单词字母大写
· 见名知意
4.同一命名空间

JS数据类型

基本数据类型

1.数字(Number)
含义:包括浮点型和整型
浮点型—就是该数值中必须有以为小数点并且小数点后面必须有以为数字
由于浮点数值的内存空间是保存整数值的两倍,
所以js会不失时机的把浮点型数转换为整型。
小数点后面没数值或1.0会被保存为整数
特殊的数字类型
NaN:
表示不是一个数字,其实他是一个特殊的数字
当运算符错误的时候,一般会得到NaN
NaN 具有传染性,即NaN参与任何运算,结果都为NaN
NaN 与任何值都不相等
Infinity:
数值超过了js可以表示的范围,是一个特殊的数字
Infinity 与其他数据类型进行操作运算,结果还是Infinity
数字除以0得到Infinity
2.字符串(String)
含义:多个字符的有序序列,双引号和单引号引起来的都是字符串
特点:
两个字符串相加,实际上是两个字符串拼接
两个字符串相加,是拼接而不是运算,其他运算结果为
NaN,表示计算错误
字符串加数字,首先将数字转化为响应的字符串
然后再参与运算。
同样不支持-、*、+、/等其他运算
3.布尔值(Boolean)
包括false 和 true
通常用在流程控制语句,选择判断语句
false值
数字0
NaN
‘’,空字符串
false
undefined
null
除了false值就是true 值
4.undefined
如果使用一个未定义的变量,会得到一个undefinedde
值,当定义了一个变量未初始化,
默认的也会给它初始化成undefined的值
5.Null
代表什么都没有
注意:Null和undefined最大的区别是如果变量值为null
说明变量是存在的,只不过它的值是空值null

非基本数据类型

变量和常量

变量
含义:是程序可操作的内存空间
程序运行期间是可以改变的
作用:存储数据
定义:var 变量名
存储方式:变量名 = 表达式
常量
含义:程序运行期间是不可以改变的

JS数据类型查看符typeof、instanceof、tostring

查看方式 typeOf 变量名

isNaN()函数 和 isFinite() 函数

isNaN()
判断一个数是否为NaN的唯一方式,
如果是NaN则返回true,否则返回false

1
2
console.log(NaN == NaN); // false
console.log(isNaN(NaN)); // true

isFinite()
如果是NaN或者Infinity返回false,否则返回true

1
2
3
console.log(isFinite(Infinity)); // false
console.log(isFinite(NaN)); // false
console.log(isFinite(1)); // true