相关理论概念:java
直接量的概念:直接描述某个(些)存储空间的值的量,如变量的值、对象的值、数组的值。jquery
数据类型:在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操做。编程
一、变量的声明和使用数组
变量:是计算机语言中能储存计算结果或能表示值抽象概念。变量能够经过变量名访问。数据结构
语法规则:dom
var 变量名;函数
而后进行赋值:num=10时直接赋值:编码
var num=10;spa
良好的变量命名方式:3d
代码示例:
//好的写法:
var count = 10;
var myName = "Nicholas";
var found = true;
//很差的写法:
var getCount = 10;
var isFound = true;
二、数据类型
数据类型 | 含义 |
undefined | 未定义 |
null | 空 |
string | 字符串类型 |
boolean | 布尔类型 |
number | 数值类型 |
注意:
1、基础数据类型:
一、undefined:
undefined是一个特殊值,那些没被变量初始化的变量都有一个初始值,即undefined,表示这个变量等待被赋值。
代码示例:
//很差的写法
var person;
console.log(person===undefined); //true
//foo未被声明
var person;
console.log(typeof person); //"undefined"
console.log(typeof foo);//"undefined"
//好的写法,建议使用null
var person =null;
console.log(person=== null);
二、null
null是一个特殊值,但咱们经常误解它,将它和undefined搞混。在如下场景中应当使用null.
还有如下两个场景不该当使用null.
代码示例:
//好的用法
var person = null;
//好的用法
function getperson () {
if (condition){
return new person ("Nicholas");
} else {
return null;
}
}
//好的用法
var person = getPerson ();
if(person != null ){
dosomething();
}
//很差的写法:用来和未初始化的变量比较
var person;
if (person !=null){
dosomething();
}
//很差的写法:检测是否传入了参数
function dosomething (arg1,arg2,arg3,arg4) {
if ( arg4 != null){
dosomethingElse();
}
}
注意:最好把null理解为占位符(placeholder)。
检测属性避免非空比较:
另一种用到null(以及undefined)的场景是当检测一个属性是否在对象中存在时,好比:
//很差的写法:检测假值
if ( object[propertyName]) {
//一些代码
}
//很差的写法:和null相比较
if( object[propertyName] != null){
//一些代码
}
//很差的写法:和undefined比较
if (object[propertyName]){
//一些代码
}
注意:建议使用in运算符进行判断属性。
若是实例对象的属性存在、或者继承自对象的原型,in运算符都会返回true.好比:
var object = {
count:0;
related: null;
};
//好的写法
if( "count" in object){
//这里的代码会执行
}
//很差的写法:检测假值
if ( object["count"]){
//这里的代码不会执行
}
//好的写法
if ( "related" in object) {
//这里的代码会执行
}
//很差的写法:检测是否为 null
if ( object["related"] !=null ){
//这里的代码不会执行
}
//对于全部非dom对象来讲,这是好写法
if (object.hasOwnProperty("related")){
//执行这里的代码
}
//若是你不肯定是否为dom对象,则这样写
if ("hasOwnProperty" in object && object.hasOwnProperty("related")){
//执行这里的代码
}
hasOwnProperty方法的使用:
注意:
三、string 字符串类型
在javaScript中全部字符是16位的,使用的是Unicode字符编码集。可使用单引号或双引号来表示,它可能包含0个或多个字符。
在javaScript中没有字符类型的概念,若须要转义字符则使用/(斜杠)+符号或相关的字母来表示。
javaScript中字符串的编码风格:
相关示例:
//很差写法
var longString ="Here's the story , of a man \ named Brady.";
//好的写法
var longString ="Here's the story , of a man " + " named Brady.";
四、boolean 布尔类型
布尔(逻辑)只能有两个值:true 或 false。
相关示例:
var x=true;
五、number类型
javaScript只有一个数字类型,它在内部被表示为64位的浮点数,相似于java的double浮点类型。
在javaScript中1和1.0的值相同,在java等语言中是不等价的,是两种数字类型。
相关示例:
//整数
var count =10;
//小数
var price = 10.0;
var price =10.00;
//不推荐的小数写法:没有小数部分
var price = 10.;
//不推荐的小数写法:没有整数部分
var price = .1;
//不推荐的写法:八进制写法已被弃用了
var num = 010;
//十六进制写法
var num = 0xA2;
//科学计数法
var num = 1e23;
2、引用类型
一、数组
数组:在数据结构中编号的值是有序集合。
下面的代码建立名为 cars 的数组:
或者 (condensed array):
或者 (literal array):
二、对象
对象:将一组数据与这组数据有关操做组装在一块儿,造成一个实体,在数据结构中编号的值是无序集合,这个实体就是对象。包含行为和相关属性。
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:
上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。
空格和折行可有可无。声明可横跨多行:
对象属性有两种寻址方式:
三、函数
函数的做用是封装相关数据或组件用的。
函数就是包裹在花括号中的代码块,前面使用了关键词 function:
当调用该函数时,会执行函数内的代码。
能够在某事件发生时直接调用函数(好比当用户点击按钮时),而且可由 JavaScript 在任何位置进行调用。
三、运算符
运算符用于执行程序代码运算,会针对一个以上操做数项目来进行运算。