珠峰培训

珠峰培训之js组成和js的基本数据类型

作者:

2016-07-10 20:16:56

214

1.页面组成

页面由HTML(超文本标记语言)+CSS(层叠样式表)+Javascript(动态脚本语言)三部分组成

1.1 js引入页面的方式

  1. 行内引入(不推荐),安全性能低
  2. script内嵌
  3. script外链
    注意:在外链的script标签中间写的js代码不执行,也不报错
    因为html从上至下加载,所以将js文件放在body最后面,js可以获取html标签添加动态效果

1.2 js常用输出方式

alert("...");   //alert自动将输出内容转为字符串 
document.write("...");
cosole.log("...");
objNode.innerHTML = "...";
objNode.innerTEXT = "...";

1.3 JS的三部分

JS由ECMAScriptDOM(document object model)BOM(browser object model)三部分组成

1.4 JS的命名规范

在js中严格区分大小写,常用命名法使用驼峰命名方式

  1. 首字母小写,其余有意义的首字母大写
  2. 使用数字,字母,下划线,$,但不能以数字开头
  3. 不能使用关键字和保留字

2.变量和数据类型

js中的变量是松散类型的,声明的变量可存储任何数据类型;
js的数据类型有Number,String,Boolean,Null,Undefined,Object
其中基本数据类型由简单结构组成,如Number,String,Boolean,Null,Undefined
引用数据类型的结构相对复杂,分为:对象数据类型:object、数组、正则;函数数据类型:function

2.1 Number数据类型

  1. 强制数据类型转换 Number():
    强制将其他数据类型转换为number数据类型,如果是字符串,字符串中一定是数字才可以转换
console.log(Number('12px'));  //NaN
  1. 非强制数据类型转换 parseInt(),parseFloat():
    在转换中途遇到非有效数字就不查找了
parseInt('12px');
parseInt('12px13');
parseInt('zhufeng2015');
parseInt('12.5px');
parseFloat('12.5px');
Number('12.5px');
var num = Number('12px');  //NaN
if( num == 12){
console.log(12);
}else if(num == NaN){
console.log(NaN);
}else{
console.log('以上都不是');
}
  1. NaN表示不是一个有效数字,但属于Number数据类型
    isNaN()用于检测一个值是否为有效数字
console.log(NaN == NaN); //false
console.log(isNaN("123")); //true

如果检测的值不是number数据类型,浏览器会默认把它转化成number数据类型,然后再比较

2.2 Boolean数据类型

转换规则

  1. 如果只有一个值,判断这个值的真假;
  2. 0,NaN,”“,undefined,null这五个值都为假
  3. val1 == val2 两值相比若不是同一数据类型的,先默认进行数据转换

2.3 Object对象数据类型

对象由多组属性名和属性值组成,属性名和属性值用来描述对象特征,创建方式有:

  1. 字面量创建方式
var obj = {name:'zhangsan'}
  1. 实例创建方式
var obj = new Object();
//增加属性名和属性值的方式
obj.name = 'zhangsan';
obj["name"] = 'zhangsan'; //方括号创建必须双引号属性名
//修改属性值,规定:对象中的属性名不允许重复,如果之前有就是修改,没有就是增加
obj.name = "zhufeng";
obj["name"] = "zhufeng";
//获取属性名和属性值的方式
console.log(obj["name"]);
console.log(obj.name);
console.log(obj.aa); //若对象中没有属性名,则返回undefined
//删除属性名和属性值
obj.name = null; //假删除,该属性值仍然存在
delete obj.name; //真删除,彻底删除属性名和属性值

对象数据类型中包含:对象类(Obejct),数组类(Array),正则类(RegExp),时间类(Date),字符串类(String),布尔类(Boolean),Math…对应的实例
js中对象、类、实例的区别:对象是泛指;类是对象的具体细分;实例是类中具体事物