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

二、JavaScript基础 学好jQuery要了解的相关推荐

  1. JS学习笔记二——JavaScript 基础知识

    JavaScript 基础知识 一.JavaScript 变量 二.JavaScript 的输出 三.JavaScript 运算符 四.结语 一.JavaScript 变量 变量是指在程序运行过程中, ...

  2. Robot Framework(十二) javascript基础

    2018-09-06  16:54:21 https://www.imooc.com/learn/36 https://www.imooc.com/code/2312 一.在HTML中插入javasc ...

  3. 阿里架构师学习笔记,一文掌握JavaScript基础

    一 JavaScript 简介 1 JavaScript基本介绍 1 JavaScript 简称JS,是一种动态的弱类型脚本解释型语言,和HTML,CSS并成为三大WEB核心技术,得到了几乎所有主流浏 ...

  4. jQuery+Javascript基础知识汇总

    jQuery介绍 jQuery是一个Javascript库,里面提供了很多快速方便操作DOM的函数(方法).学习jQuery的本质就是学习调用这些函数(方法). jQuery的入口函数 等DOM结构渲 ...

  5. 超全超实用的Javascript类库和jQuery插件大全之二:文字处理,表格和列表处理,实用......

    为什么80%的码农都做不了架构师?>>>    日期:2012-10-15  来源:GBin1.com 如果你需要解决一些开发中遇到的技术问题的话,很可能会找到一些相关的javasc ...

  6. Javascript基础(二)

    Javascript基础(二) 事件: 条件语句 类型转换 正则表达式regexp 错误抛出 void 事件: 是发生在HTML元素上的行为,可以是浏览器行为,可以是用户行为 a) html 元素添加 ...

  7. Javascript基础回顾 之(二) 作用域

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  8. JavaScript 基础知识 - DOM篇(二)

    7. 节点操作 7.1 节点的属性 节点分类: 标签节点 文本节点 属性节点 注释节点 节点常用的属性: nodeType:节点的类型 nodeName:节点名称 nodeValue:节点值 常见的节 ...

  9. JavaScript 基础知识 - 入门篇(二)

    11. 函数 11.1 函数的基础知识 为什么会有函数? 在写代码的时候,有一些常用的代码需要书写很多次,如果直接复制粘贴的话,会造成大量的代码冗余: 函数可以封装一段重复的javascript代码, ...

最新文章

  1. “防爆”与“防暴” 这两种摄像机差别在哪?
  2. hibernate fetch使用
  3. String类中toCharArray()方法的用法
  4. ISATAP隧道技术及实践
  5. Git 代码防丢指南
  6. 952计算机网络是那本书,952计算机网络复习参考提纲.doc
  7. LPS25HB 气压计 的嵌入式程序开发
  8. Dijkstra算法求最短路径(java)
  9. Nacos配置管理-多环境配置共享
  10. LeetCode MySQL 585. 2016年的投资(窗口函数over(partition by xx))
  11. Java笔记-String.format的使用(可用于格式化字符串)
  12. linux端口混杂模式,linux端口混杂模式简介~
  13. Oracle数据库的表结构 简单表的建立
  14. 最长重复子串_3. 无重复字符的最长子串
  15. 【云图】如何制作全国×××查询系统?
  16. 学习React中遇到的问题
  17. BCELoss和BCEWithLogitsLoss
  18. [excel]解决Excel和txt转换出现的“问题
  19. clodop 打印插件打印不显示问题
  20. li指令 汇编_汇编指令简介

热门文章

  1. 浏览器缓存和webpack缓存配置
  2. 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest
  3. 2017-09-29 前端日报
  4. c 各种编译器(gcc clang)
  5. sed awk 笔记(二)
  6. Classloader内存泄露
  7. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(12)-系统日志和异常的处理②...
  8. 概率链接nbu 2416 奇怪的散步
  9. 小霸王双核/四核手机最新参数曝光
  10. 大话IT职场之工作和生活的平衡