博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二、JavaScript基础 学好jQuery要了解的
阅读量:6983 次
发布时间:2019-06-27

本文共 1640 字,大约阅读时间需要 5 分钟。

JavaScript与ECMAScript

ECMAScript 通过ECMA-262标准的脚本程序设计语言

ECMAScript标准下有 javascript jscript actionscript

JavaScript分为值类型和引用类型两大类,有时也称为原始值和引用值。值类型:存储在栈(stack)中,一个值类型的变量其实是一个内存地址,地址中存储的就是值本身。引用类型:存储在堆(heap)中,一个引用类型的变量的值是一个指针,指向存储对象的内存处。

 

 还可以将javascript对象分为 本地对象、内置对象、宿主对象。

实际使用中为了使javascript真正单纯,可以将javascript中的类型分为:undefined、null、number、string、boolean、function、Object引用类型。

function就是一种引用类型。另外javascript的值类型背后其实也是一个“引用类型”,就是所有的类型都是从Object中派生而来。比如Number是一个“值类型”,但是其实存在一个引用类型“Number”,可以使用如下方式声明:var oNumberObject = new Number(55);  我们一般都是这样声明 var iNumberObject = 55;

 

undefined:表示一个对象没i有被定义或者没有被初始化。

null:表示一个尚未存在的对象的占位符。

有意思的是undefined类型是从null派生来的。所以他们是相等的:alert(null == undefined);输出true。

var oTemp = null;

if(oTemp){};//false

if(undefined)();//false

上面的语句if的条件都是false。但如果注释掉var oTemp = null;就会error。

但是无论是否声明过oTemp对象,使用typeof运算符获取到的都是undefined并且不会报错。

alert(typeof oTemp1);//输出"undefined"

所以在程序中使用一个可能没有定义过的变量,并且没有使用typeof做判断,那么就会出现脚本错误。此变量是null或者没有初始化的undefined对象,可以通过if或者==来判断。

未声明的对象只能使用typeof运算符来判断。

typeof运算符返回的都是一个字符串。而程序员经常当作类型来使用。

下面是typeof运算符对各类型的返回结果。

undefined:undefined

null:object

string:string

number:number

boolean:Boolean

function:function

object:object

提醒,一个没有返回值的function实际上返回的是undefined.

 

显示声明变量var iNum,sName;

即使变量的类型在初始化时已经被确定,但仍然可以在之后把他设置为其他类型。

var sName = "ajax"; sName = 55;

隐式声明不使用var关键词,而直接为变量赋值。隐式声明的变量总是被创建为全局变量。

 

javascript命名方法:变量用匈牙利命名法,var sName; var iNum;函数用Camel命名法,testMethod();

 

全局变量是window对象的属性。作用域是当前window窗体。window.sName.

 

闭包:是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。

简单表述闭包:闭包就是function实例以及执行function实例时来自环境的变量。

闭包在javascript中是隐式创建的。

转载于:https://www.cnblogs.com/tomkillua/archive/2012/07/26/2609492.html

你可能感兴趣的文章
常用思科设备图标(JPG+矢量图)
查看>>
倒排列表求交集算法 包括baeza yates的交集算法
查看>>
微信 登录 Scope 参数错误或没有 Scope 权限
查看>>
C# 温故知新 基础篇(7) 接口<思维导图>
查看>>
jQuery Makes Parsing XML Easy[转]
查看>>
CSS里常见的块级元素和行内元素
查看>>
Windows Azure Storage (4) Windows Azure Storage Service存储服务之Blob Share Access Signature
查看>>
framework调试
查看>>
java线程(2)--同步和锁
查看>>
Rafy 框架 - 大批量导入实体
查看>>
go1
查看>>
使用 Palette 让你的 UI 色彩与内容更贴合
查看>>
关于ASP.NET"未能映射路径"问题
查看>>
详谈如何定制自己的博客园皮肤
查看>>
iBATIS配置文件的特殊使用方法
查看>>
Python正则表达式指南
查看>>
T-SQL 根据年月日创建DateTime
查看>>
【CSS进阶】CSS 颜色体系详解
查看>>
论:CMMI项目策划方法(PP)
查看>>
高可用高性能分布式文件系统FastDFS实践Java程序
查看>>