文档章节

关于javaScript的认识

杨松坤
 杨松坤
发布于 2012/05/09 07:44
字数 1592
阅读 222
收藏 6

NaNInfinity-Infinity不同的是,NaN不会与任何数值变量相等,可以用javaScript专门提供的isNaN()函数来判断某个变量是否为NaN

Undefined类型的值只有undefined一个,该值用于表示某个变量不存在,或者没有为其分配值,也用于表示对象的属性不存在。Null用于表示变量的值为空。

Undefined表示没有为变量设置值,而null表示将变量值设为空。

实际上,很多时候undefinednull本身就是相等,即null==unfefined将返回true,如查我们要精确区分nullundefined应该考虑使用精确等于符(===

定义一个变量后,如果没有为该变量赋值,则该变量的值默认为undefined,这个值是系统默认分配的,该问对象并不存在属性时,该属性值也将返回undefined.

null不同的是,undefined并不是javaScript的保留字,他是一个全属变量,某些浏览器可能不支持undefined值,此时可以在javascript脚本的第一行定义如下它。

复合类型是由多个基本数据类型组成的数据体,javascript中的复合类型大致上有如下三种:object对旬,Array数组,Function函数。

Javascript的数组中元素的类型可以不相同,定义一个数组有如下三种语法格式:

Var a=[3,5,6];

Var b=[];

Var c=new Array();

javaScript作为动态弱类型语言,其数组归纳起来有三个物征:

javascript数组的长度可变。

同一个数组里数组元素的类型可以互不相同

该问数组元素时不会产生数组越界,访问并未赋值的数组元素时,该元素的值为undefined.

Javascript的函数声明中,参数列表不需要数据类型说明,函数的返回值也不需要数据类型说明。

javaScript中的函数与java中的方法有如下区别:

javascript函数无须说明返回值类型,

javascript函数无须声明形参类型,

javascript中的函数可以独立存在,无须属于任何类。

Javascript函数必须使用function关键字定义。

赋值语句本身是有值的,赋值语句的值就是=右边的被赋的值,因此,赋值运算符支持连续赋值,通过使用多个赋值运算,可以一次为多个变量赋值。

Void运算符用于强行指定表达式不返回值如下:

A=void(b=5,c=7,d=56);

Typeof运算符用于判断某个变量的数据类型,可作为函数用,还可以作为一个运算符来有使用。与typeof类似的运算符还有instanceof,该运算符用于判断某个变量是否为指定类型的实例,如果是,则返回true ,否则返回false.

javascript中,变量的作用域有全局(window对象)作用域和函数调用作用域。
以下变量具有全局作用域
1
.所有在最外层定义(非函数体内定义)的变量都拥有全局作用域
2
.所有末定义直接赋值的变量,系统会自动声明为拥有全局作用域的变量
3
.所有window对象的属性拥有全局作用域

以下变量具有函数作/用域
1
.在函数体内部用var定义的变量,这里要注意一点,只要是在函数里定义的变量,就算是在最后一句定义,该变量也拥有整个函数的作用域。

javaScript中的函数与java中的方法区别:

1、 javaScript函数无须声明返回值类型。

2、  javaScript函数无须声明形参类型。

3、  javaScript中函数可以独立存在,无须属于任何类。

4、  javaScript函数必须使用function关键字定义。

++在操作数的右边时,先执行算术运算,然后对操作数执行自加运算,当++在操作数的左边时,先执行自加,然后再执行算术运算。

Void运算符用于强行指定表达式不返回值。

虽然语句块类似于一条单独的语句,但语句块后不需要以分号结束。

java不同的是,javaScript的异常没有java那么丰富,javaScript的所有异常都是Error对象,当javaScript 需要抛出异常时,总是通过throw语句抛出Error对象,如下

Throw  new  Error(errorString);

可以在代码执行过程中抛出异常,也可以在函数定义中抛出异常,代码执行过程中,一旦遇到异常,立即寻找对应的异常捕捉块(catch块),如果没有对应的异常捕捉块,异常将传递给浏览器。

归纳起来,javascript异常机制与java异常机制存在如下区别:

1、  javaScript中只有一个异常类Error,无须在定义函数时声明抛出该异常,所以没有throws关键字。

2、  javaScript是弱类型语言,所以catch语句后括号里的异常实例无须声明类型。

3、  javaScript只有一个异常类,所以try块后最多只能有一个catch块。

4、  获取异常的描述信息是通过异常对象的message属性,而不是通过getMessage()方法。

javaScript是一代种基于对像的脚本语言,代码复用的单位是函数,但它的函数比结构化设计语言的函数功能更丰富。javaScript语言中函数就是一等公民,它可以独立存在,而且javaScript的函数完全可以作瓬为一个类来使用(而且它还是该类唯一的构造器),因此函数的功能非常丰富

函数可以有返回值,也可以没有返回值。函数的返回值使用return语句返回。

javaScript提供了Function类,该类也可以用于定义函数,Function的构造器的参数个数可以不受限制,Function可以接受一系列的字符串参数,其中最后一个参数是函数的执行体,执行体的各语句以分号隔开,而前面的各字符串参数则是函数的参数。

还有一种定义匿名函数的方式,可以无须使用Function类,而是直接使用function类键字。

© 著作权归作者所有

杨松坤
粉丝 4
博文 16
码字总数 29704
作品 0
漯河
私信 提问
前端基础-JavaScript

开发工具与关键技术:DW/浏览器 ;简单使用js。 作者:刘佳明 撰写时间:2019年1月 18 日 前面已经随手写过了关于网页编辑的一些基础布局和标签的认识;这篇文章在这里为大家简单的介绍一下关...

没有,
01/18
0
0
《javascript DOM编程艺术》读后

先把自己做的例子传上http://wjfdwr.svfree.net/ 话说,今年7月开始的实训,一直在做关于前台方面的事,当时听到要用javascript就在想,遭了完全不会啊,然后没办法,就只有一边学习,一边试...

jeffywon
2012/11/09
0
0
前端框架现状调查:66% 受访者使用 Sass

Ashley Nolan 是来自英国食品速递公司 JUST EAT 的一名资深 Web UI 工程师。为了了解整个前端开发社区当前的知识和使用水平,他发起了一个面向前端开发人员的调查,问题涉及CSS、“任务执行器...

oschina
2015/09/16
4.8K
14
Flutter开发之Dart必备基础知识

在本文中我们主要对标JavaScript来讲解Dart与JavaScript的异同,对JavaScript还不熟悉的小伙伴可以省略JavaScript部分,直接学习Flutter部分。 程序入口 JavaScript没有预定义的入口函数,但...

CrazyCodeBoy
03/19
0
0
世界级javascript大师们的视频与PPT

阅读: 6 评论: 0 作者: 阿K&LiveCai 发表于 2010-03-26 10:45 原文链接 来源:css9.net 导读:本文中的javascript大师们大多来自yahoo公司,可能说起他们的名字国内熟悉的人并不多,不过说到他...

陈波
2010/03/30
773
0

没有更多内容

加载失败,请刷新页面

加载更多

API鉴权及JWT详细分析

Web API常见的鉴权方法,即WebAPI中保障请求合法性的常见方法: (1)、API Key + API Secret (2)、cookie-session认证 这是比较老牌的鉴权方式了,这种鉴权方式有一下特点: A、为了使后台应用...

一对二
9分钟前
0
0
在rac2节点使用oracleasm找不到共享磁盘

[root@rac2 ~]# oracleasm scandisks Reloading disk partitions: done Cleaning any stale ASM disks... Scanning system for ASM disks... [root@rac2 ~]# 解决方法: 是因为在rac1节点格式......

突突突酱
9分钟前
0
0
Wine-Staging 4.9 发布,增添一些新补丁

Wine-Staging的工作还在继续,到4.9版为止,在上游Wine代码库上有超过830个补丁。 在上周五的Wine 4.9发布之后,Wine-Staging 4.9已经发布了,之前的一些暂存工作现在围绕Windows编解码器和D...

linux-tao
12分钟前
0
0
GIT 使用笔记

sha-1 哈希值 作为指纹字符串 和 索引 **文件有三种状态:已提交(committed) / 已修改(modified) / 已暂存(staged). ** 已提交表示该文件已经被安全地保存在本地数据库中了; 已修改表示修...

小小明童鞋
17分钟前
0
0
服务端高并发分布式架构演进之路

服务端高并发分布式架构演进之路 1.概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一...

linzhuangrong
21分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部