JavaScript编程基础

1、c++


1 .JavaScript基础语法程序员

 

注释:数组

 

1.单行注释:函数

//单行注释this

 

多行注释:spa

/*debug

 *较长的多行指针

 *注释对象

 *ip

 */

最好是针对某个功能来写注释

 

2. 语句

JavaScript中,语句通常以分号结尾,每条语句独占一行来写代码;不写分号也不会报错,可是代码压缩时可能会有问题,建议加上分号。

 

let i = 10;

console.log(i);//10

 

可使用C语言风格一对大括号将多条语句组合到一个代码块里。

 

{

let i = 10;

console.log(i);//10

}

 

3. 标识符

 

所谓标识符,就是指用来标识某个实体的一个符号。再说通俗一点,就是本身起一个名字,这个名字能够用来做为变量名,函数名,对象名等。在JavaScript中,虽说标识符是本身取名字,可是也是须要遵照必定的规则, 其命名的规则大体能够分为2大类:硬性要求和软性要求。

 

硬性要求:

1.能够是由数字,字母,下划线和美圆符号组成,不容许包含其余特殊符号

2.不能以数字开头

3.禁止使用JavaScript中的关键词和保留字来进行命名。

4.严格区分大小写

 

软性要求:

望文知意。

 

命名的三种方法

 

1.匈牙利命名法

 

是微软公司下面觉得匈牙利籍的程序员所发明的命名法则,其特色是标识符的名字以一个或者多个小写字母开头,表示该变量的数据类型;

 

| 数据类型               |  对应前缀   |

| --------                   -------        

|  Array数组             |   a         |

|  Boolean布尔           |   b         |

|  Float浮点             |   f         |

|  Function              |   fn        |

|  Intergerint)整型   |   i         |

|  Object对象            |   o         |

|  Regular Expression正则|   re        |

|  String  字符串        |   s         |

 

前缀以后的是一个单词或多个单词的组合,该单词代表代表变量的用途。

 

例如:a_arrayo_object,i_userAge ,b_isPassed.

 

2.驼峰命名法:

 

大驼峰:就是每个单词都是首字母大写。例如:UserName

小驼峰:第一个单词的首字母是小写,后面单词的首字母是大写。例如:userName

 

3.蛇形命名法:

 

特色在于单词与单词之间使用下划线进行分隔。

这种命名法常见于Linx内核,c++标准库,Boost以及RubyRust等语言。

例如:user_name,my_name.

 

4.关键字和保留字

 

首先须要弄清楚关键字和保留字的区别是什么。

 

      ECMA-262描述了一组具备特定用途的关键字。这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操做等。按照规则,关键字是语言自己所保留的,不能用做标识符。

 

      ECMA-262还描述了另一组不能用做标识符的保留字。尽管保留字在这门]语言中尚未任何特定的用途。但它们有可能在未来被用做关键字。

 

JavaScript中的关键字与保留字以下:

 

      abstractawaitbooleanbreakbytecasecatchcharclassconstcontinuedebuggerdefaultdeletedodoubleelseenumexport

extendsfalsefinalfinallyfloatforfunctiongotoifimplementsimportininstanceofint

interfaceletlongnativenewnullpackageprivateprotectedpublicreturnshortstaticsuper

switchsynchronizedthisthrowthrowstransienttruetrytypeofvarvolatilevoidwhilewithyield

 

 

5. 数据类型介绍

 

JavaScript中,数据类型总体上来说能够分为两大类:简单数据类型和复杂数据类型

 

简单数据类型:

 

简单数据类型一共有6:

string, symbol, number, boolean, undefined, null其中symbol类型是在ES6里面新添加的基本数据类型

 

复杂数据类型:

 

复杂数据类型就只有1object

包括JavaScript中的数组,正则等,其类型都是object类型

 

查看数据类型:

JavaScript中,咱们能够经过typeof运算符来查看一个数据的数据类型

console. log( typeof 10);//number

console. log(typeof true);//boolean

console. log(typeof 'Hello');//string

console. log(typeof [1,2,3]);//object

 

 

 

2、变量

 

所谓变量,就是用于引用内存中存储的一一个值。固然, 咱们在使用变量以前,还须要先作的一件事儿就是声明变量。

 

1.声明变量

 

      JavaScript中声明变量的方式有3: var let const 。其中var如今已经不推荐使用了,由于会有变量提高等问题。(后面咱们会具体来探讨此问题)

 

      constlet的区别在于,const 所声明的变量若是是简单数据类型,那么是不可以再改变的。而let所声明的变量不管是简单数据类型仍是复杂数据类型,在后面是能够改变的。示例以下:

 

const声明变量

 

const name = 'Bill';

name = 'Lucy';

 

//TypeError: Assignment to constant variable.  

 

let声明变量

 

let name = 'Bill';

name = 'Lucy';

console.log(name);

 

2. 变量的赋值与初始化

 

利用=给变量进行赋值,第一次赋值叫作初始化。在声明变量时就会将变量给初始化,以下:

 

let a = 3

 

也能够一次性初始化多个变量,将其写在一行里面。

 

let x = 3,y = 4,z = 5;

 

若是声明变量时没有赋予初值,那么默认值为undefined

 

let a;

console.log(a);//undefined

 

3. 使用var声明变量

 

      前面有提到过,在JavaScript中声明变量的方式有3: var, let ,  const。其中var如今已经不推荐使用了。这是由于使用var来声明变量会伴随着一些问题。 固然,这些问题也常常被看做是JavaScript的一些特色,例如重复声明和遗漏声明。

 

      重复声明

 

      若是是使用var关键字来声明的变量,那么是容许重复声明的。只不过这个时候会忽略这次声明。若是从新声明而且带有赋值,则至关因而从新赋值

 

      重复声明不带有賦值操做,JS引擎会自动忽略后面的变量声明

 

      var test = 3;var test;

   var test;

      console. log(test);//3

 

      从新声明时若是带有赋值操做,那么会进行一一个数据的覆盖

 

      var test = 3;var test = 5;

   var test = 5;

      console. log(test);//5

 

须要注释重复声明仅仅是使用var关键字时能够这样,若是是在严格模式中,或者使用letconst的话是会报错的。

 

遗漏声明

 

若是试图读取一个没有声明的变量的值,JS会报错

 

console.log(a);

//ReferenceError: a is not defined

 

JS容许遗漏声明,即直接对变量赋值而无需事先声明,赋值操做会自动声明该变量。

 

{

a = 5;

console.log(a);//5

}

console.log(a);//5

 

4. 做用域

 

1.全局做用域

这是JS引擎-进来就处于的运行环境。在全局做用域的中所声明变量称之为全局变量。全局变量的特色在于变量在任何地方都能被访问。

let a = 5;//这是一个全局变量

2.局部做用域

JavaScript中,一对大括号就能够产生一个局部做用域。局部做用域里面的变量称之为局部变量,既然是局部变量,那么就只能在这个局部的做用域里面能访问到,外部是访问不到的。

{

 

leti=10;

console. log(i) ;//10

console.log(i);

//ReferenceError: i is not defined

顺带一提的是,在大括号中用var声明的变量不是局部变量,而是一个全局变量。这其实也是最先使用var来声明变量所遗留下来的一一个问题。

 

{

var i = 10;

console.log(i);//10

}

console.log(i);//10

 

在局部做用域里面,若是变量名和全局做用域里面的变量名冲突,优先使用局部做用域里面的变量。

 

let i = 10;

{

let i = 100;

console.log(i);//100

}

console.log(i);//10

 

若是在局部做用域里面声明变量时没有书写关键字,那么会申明一个全局变量

 

{

i = 10;

}

console.log(i);//10

 

 

3、数据类型

 

数据类型介绍

 

JavaScript中,数据类型总体上来说能够分为两大类:简单数据类型和复杂数据类型

简单数据类型

简单数据类型一共有6:

string, symbol, number, boolean, undefined, null其中symbol类型是在ES6里面新添加的基本数据类型

 

1.Undefined类型

只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined

 

2.Null类型

null类型被看作空对象指针,前文说到null类型也是空的对象引用。

 

3.Boolean类型

该类型只有两个值,truefalse

 

4.Number类型

Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)两种值。

NaN:非数字类型。特色:1.涉及到的 任何关于NaN的操做,都会返回NaN  2. NaN不等于自身。

isNaN() 函数用于检查其参数是不是非数字值。

isNaN(123)  //false   isNaN("hello")  //true

 

5.String类型

字符串有length属性。

字符串转换:转型函数String(),适用于任何数据类型(null,undefined 转换后为nullundefined);toString()方法(null,defined没有toString()方法)。

 

6 symbo类型

ES5中包含5种原始类型:字符串、数字、布尔值、null和undefined。ES6引入了第6种原始类 :symbol

ES5的对象属性名都是字符串,很容易形成属性名冲突。好比,使用了 一个他人提供的对象,想 为这个对象添加新的方法,新方法的名字就有可能与现有方法产生冲突。若是有一种机制,保证 每一个属性的名字都是独一无二的,这样就从根本上防止了属性名冲突。这就是ES6引入symbol 缘由。

 

复杂数据类型

 

复杂数据类型就只有一种object

包括JavaScript中的数组,正则等,其类型都是object类型

 

查看数据类型

JavaScript中,咱们能够经过typeof运算符来查看一个数据的数据类型

console. log( typeof 10);//number

console. log(typeof true);//booleanconsole. log(typeof 'Hello');//stringconsole. log(typeof [1,2,3]);//object

相关文章
相关标签/搜索