刚开始学javascript经常看到各种专业名词,在此整理一下个人的学习笔记:

直接量

直接量——就是程序中直接使用的数据值,如:
88           //数字(String)
"hello world"    //字符串(Number)
true        //布尔值(Boobean)
/[a-z][0-9]/    //正则表达式(RegExp)
null        //空值(null)
{x:1,y:2}     //对象(Object)
[1,2,3,4,5]   //数组(Array)

标识符(变量名)

标识符——就是一个名字,用来对变量和函数进行命名,说白了就是变量名,如:
var str="hello world" //str就是一个标识符
function sayHi(){ alert("hello world");}   //sayHi就是一个标识符

保留字与关键字

关键字——是被js定义过的单词,如:var,function
保留字——目前还没被js定义单词,但是以后肯能会被js定义使用的单词,也就是很有可能在未来版本的js中会成为关键字的单词。所以不能使用保留字做标识符,如果用了,一旦新版本js发布,那么你之前的程序就会报错了。

数据类型

数据类型分为:原始类型、对象类型、null、underfined

原始类型——包括数字,字符串,布尔值
对象类型——除了数字,字符串,布尔值,null,underfined之外的都是对象。
null,underfined分别代表了各自特殊类型的唯一成员。

变量声明

变量声明——也就是使用var关键字来声明变量,如果在声明的时候未赋值,则它的初始值就是underfined。

用var关键字在函数体外声明的变量是全局变量;在函数体内使用var声明的变量则是局部变量,该变量只对该函数可见。

如果未使用var关键字声明的变量,无论它是否在函数体内声明的,它都是全局变量。

他们的区别是,使用var关键字声明的变量不能被delete删除,而未使用var声明的变量则是可以删除的。

var str="使用var声明的变量";
str2="我未使用var关键字";
console.log(delete str); //false
console.log(delete str2); //true
console.log(str); //使用var声明的变量
console.log(str2); //str2 is not defined

函数作用域和声明提前

函数作用域——变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定于的。也就是说函数内声明的所有变量在函数体内始终是可见的。正因如此,使得在函数体内,变量在声明之前已经可用——这个特征被称为“声明提前”。

 var scope="global";
function f(){
console.log(scope); //输出的是"underfined",而不是global
var scope="local";
console.log(scope); //输出的是"local"
}
f();
console.log(scope); //输出的是"global" //上面的代码等同于:
var scope="global";
function f(){
var scope; //声明为赋值,初始值就是underfined
console.log(scope); //输出的是"underfined",而不是global
var scope="local";
console.log(scope); //输出的是"local"
}
f();
console.log(scope); //输出的是"global"

在把代码修改一下,就可以看出声明变量的是时候是否使用var关键字的区别了:

 var scope="global";
function f(){
console.log(scope); //输出的是"global",而不是"underfined"
scope="local"; //未使用var关键字声明的变量是全局变量,在此会把之前的同名的全局变量的值修改了。
console.log(scope); //输出的是"local",而不是"global"
}
f();
console.log(scope); //输出的是"local",原来的值被覆盖了

javascript各种专业名词的更多相关文章

  1. Android开发专业名词及工具概述

    前言: 系统的学习下Android开发中涉及到的一些专业名词 和Android开发工具 名词: 一.SDK(Software Development Kit) 软件开发工具包:一般都是一些软件工程师为 ...

  2. [专业名词·硬件] 2、DC\DC、LDO电源稳压基本常识(包含基本原理、高效率模块设计、常见问题、基于nRF51822电源管理模块分析等)·长文

    综述先看这里 第一节的1.1简单介绍了DC/DC是什么: 第二节是关于DC/DC的常见的疑问答疑,非常实用: 第三节是针对nRF51822这款芯片电源管理部分的DC/DC.LDO.1.8的详细分析,对 ...

  3. Javascript中的名词

    BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行"对话". DOM (Document Object Model ...

  4. [专业名词·硬件] 1、等效串联电阻ESR概述及稳压电路中带有一定量ESR电容的好处

        一.等效串联电阻ESR概述 ESR是Equivalent Series Resistance的缩写,即“等效串联电阻”.理想的电容自身不会有任何能量损失,但实际上,因为制造电容的材料有电阻,电 ...

  5. IT 需要知道的一些专业名词和解释 (长期更新)

    c2c: 就是我卖东西你来买  (comsumer to comsumer个人对个人) b2c: 就是我开公司卖东西你来买 (business to comsumer 公司对个人) o2o: 就是我开 ...

  6. lucene 专业名词作用整理

    是否切词:对关键词是否切分,举例,姓名域的一个值:"张三" , 是否切分成"张"."三"等等多个term. 是否索引:建立索引的时候是否对该 ...

  7. redux相关专业名词及函数提要

    redux: 用来管理react app 状态(state)的一个架构. store: 通过createStore()创建,用来存放state,与react app是完全分离的.createStore ...

  8. 学习Zookeeper需要了解的专业名词

    一.Zookeeper的集群角色 Leader:该角色是整个zookeeper集群工作机制中的核心 Follower:该角色是zookeeper集群状态的跟随者 Observer:在集群中充当观察者的 ...

  9. WMS专业名词解释

    1.摘果:按照单一客户上订单的内容进行拣选货品(即去货位上拣货),拣选完成后即可直接进行质检.包装. 2.播种:将多个客户订单上的货品进行汇总,然后对这些货品进行拣选.拣选完成后,再区分出每一个客户的 ...

随机推荐

  1. OpenStack虚机相关错误

    OpenStack配置起来还是挺麻烦的,特别是网络那块.虽然官方文档越来越清晰,但有时还是会出各种错.排错主要是看日志.看官方文档和google 以下就一些虚机相关常见的错误做一下总结(基于Iceho ...

  2. LPC1758串口ISP下载程序

    最近手上拿到一块人家公司做的3D打印机的板子,用的核心芯片是LPC1758,板上引出了ISP下载接口.那接口共4个引出脚,如下图所示:   其中ME_EN引脚又连接到了芯片的P2[10]引脚,那个引脚 ...

  3. PHP 之isset() 与 unset()

    isset()用来判断某个变量是否已经被声明,他返回一个boolean类型的值,如果声明则返回true否则返回false.如果变量被声明后,给他赋值为NULL,他也返回false. 如: <?p ...

  4. ExpandableListView(可展开的列表组件)的说明以及其用法

    ExpandableListView的用法和ListView非常像,只是其所显示的列表项应该由ExpandableListAdapter提供,下面是它的xml属性及说明: 然而,接下来是用事实说话了: ...

  5. 抽象类的基本概念------abstract

    抽象类的概念: 包含一个抽象方法的类就称为抽象类. 抽象方法:只声明但未实现的方法称为抽象方法,使用abstract关键字声明. 抽象类的定义及使用规则: abstract class A{ // 是 ...

  6. MFC中DoDataExchange()的作用

    void CDlgSelectCS::DoDataExchange(CDataExchange* pDX) {     CDialog::DoDataExchange(pDX);     DDX_Te ...

  7. 【转】ArrayList遍历的同时删除----不错

    原文网址:http://javag.iteye.com/blog/403097 方法一 ArrayList<String> list = new ArrayList<String&g ...

  8. 【7】JAVA---地址App小软件(AddrBusiness.class)(逻辑层)

    这个...没多少好解释的... 表现层的增删改查的具体实现类. package cn.hncu.addr.business; import javax.swing.JOptionPane; impor ...

  9. Android调用系统相机和文件浏览器

    //拍照功能,调用系统的相机功能 Intent intent2 = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResul ...

  10. GUID 的优缺点 uniqueidentifier

    1) 优点 同 IDENTITY 列相比,uniqueidentifier 列可以通过 NewID() 函数提前得知新增加的行 ID,为应用程序的后续处理提供了很大方便. 便于数据库移植,其它数据库中 ...