javascript各种专业名词
刚开始学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各种专业名词的更多相关文章
- Android开发专业名词及工具概述
前言: 系统的学习下Android开发中涉及到的一些专业名词 和Android开发工具 名词: 一.SDK(Software Development Kit) 软件开发工具包:一般都是一些软件工程师为 ...
- [专业名词·硬件] 2、DC\DC、LDO电源稳压基本常识(包含基本原理、高效率模块设计、常见问题、基于nRF51822电源管理模块分析等)·长文
综述先看这里 第一节的1.1简单介绍了DC/DC是什么: 第二节是关于DC/DC的常见的疑问答疑,非常实用: 第三节是针对nRF51822这款芯片电源管理部分的DC/DC.LDO.1.8的详细分析,对 ...
- Javascript中的名词
BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行"对话". DOM (Document Object Model ...
- [专业名词·硬件] 1、等效串联电阻ESR概述及稳压电路中带有一定量ESR电容的好处
一.等效串联电阻ESR概述 ESR是Equivalent Series Resistance的缩写,即“等效串联电阻”.理想的电容自身不会有任何能量损失,但实际上,因为制造电容的材料有电阻,电 ...
- IT 需要知道的一些专业名词和解释 (长期更新)
c2c: 就是我卖东西你来买 (comsumer to comsumer个人对个人) b2c: 就是我开公司卖东西你来买 (business to comsumer 公司对个人) o2o: 就是我开 ...
- lucene 专业名词作用整理
是否切词:对关键词是否切分,举例,姓名域的一个值:"张三" , 是否切分成"张"."三"等等多个term. 是否索引:建立索引的时候是否对该 ...
- redux相关专业名词及函数提要
redux: 用来管理react app 状态(state)的一个架构. store: 通过createStore()创建,用来存放state,与react app是完全分离的.createStore ...
- 学习Zookeeper需要了解的专业名词
一.Zookeeper的集群角色 Leader:该角色是整个zookeeper集群工作机制中的核心 Follower:该角色是zookeeper集群状态的跟随者 Observer:在集群中充当观察者的 ...
- WMS专业名词解释
1.摘果:按照单一客户上订单的内容进行拣选货品(即去货位上拣货),拣选完成后即可直接进行质检.包装. 2.播种:将多个客户订单上的货品进行汇总,然后对这些货品进行拣选.拣选完成后,再区分出每一个客户的 ...
随机推荐
- WCF入门教程[WCF基本应用]
一.概述 Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分.由 .NE ...
- Eric Pement的单行awk命令收集
超实用的. awk1line_zh-CN.txt 可惜中文版的网址好像不能访问了.. HANDY ONE-LINE SCRIPTS FOR AWK 30 April 2008 Compiled by ...
- Android中程序包的相关操作
//获取系统中已经安装的应用程序 List<PackageInfo> packageinfos=this.getPackageManager().getInstalledPackages( ...
- POJ3729 Facer’s string 后缀数组
Fa ...
- 你需要知道的12个Git高级命令
众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强 ...
- Cortex-M3 FLASH 日志文件系统
本文简要介绍一下本人在Cortex-M3系统的STM32F10x芯片上开发的一个日志文件系统(与其说是系统,不如说是小小的库).该库的特点是将在STM32F10x芯片上处理数据(历史记录)变得简单可靠 ...
- 读取xml到DataSet中去
XML如下: <?xml version="1.0" encoding="utf-8" ?> <Config> <System&g ...
- office2007序列号/密钥
绝对可以用的许可证:V9MTG-3GX8P-D3Y4R-68BQ8-4Q8VD
- CF 61E 树状数组+离散化 求逆序数加强版 三个数逆序
http://codeforces.com/problemset/problem/61/E 题意是求 i<j<k && a[i]>a[j]>a[k] 的对数 会 ...
- POJ 1386 有向图欧拉通路
题意:给你一些字符串,这些字符串可以首位相接(末位置如果和另一个字符串的首位置相同的话就可以相连) .然后问你是否可以全部连起来. 思路:就是取出每个字符串的首尾位置,然后求出出度和入度,根据有向欧拉 ...