JS类型
2016-01-24 本文已影响30人
olivia1111
一、html引入JS
-
直接写
<script>
document.write("hello,world~")
</script> -
引入
<script src="HelloWorld.js"></script> -
变量:
variable number=1 -
循环:
while number<10000
document.write(<p>+number+</p>);
number=number+1;
二、调试
- 设置断点
- 搜索文件:ctrl+o
- 搜索函数:ctrl+ shift+o
- 观察变量:watch; console
- 进入函数、退出函数
三、javascript 语法
- 变量 声明变量
var age=12; - 标示符
1.以字母、下划线或者$开头
2.由字母、数字、下划线和$组成
3.不能用关键字和保留字
4.区分大小写
关键字
Screen Shot 2016-01-02 at 20.27.33.png
保留字
Screen Shot 2016-01-02 at 20.27.46.png
-
语句
1.语句必须已分号结尾
2.用大括号包含多条语句,形成代码块 -
注释
1.单行注释
//开头
2.块级注释
/*开头
不可嵌套
*/结尾
四、基本数据类型
- number
1.整数
十进制/八进制/十六进制
var num=10; var num=037; var num=0xff;
2.浮点数
var num=1.2; var num=1.42e5; var num=1.42e-4;
3.特殊值
NaN (Not a Number);
var num=1/0;//无穷大
var num=-1/0;//负无穷大 - string
用引号引起的就是字符串
var name="hello" - Boolean
1.true
2.false
var sex=true;
if(sex){
document.write("男“);
}else{
document.write("女");
} - Object
一组无序的名值对组合
var cat={
name:'Kitty',age:2,mew:function(){};
} - Null
对象不存在
var car=null; - Undefined
1.已声明但为赋值的变量
var a;
console.log(a);
2.获取对象中不存在的属性时
var obj={a:1,b:2};
console.log(obj.c); - typeof 类型识别
可识别确定以上类型
var num; typeof num;//undefined
var num=1; typeof num;//number
var num=2.314; typeof num;//string
var num=true; typeof num;//boolean
原始类型—num,string,boolean,null,undefined
不能改变最初的变量
引用类型(对象类型)—object
var obj={}; var arr=[]; 以new执行的构造函数var date=new Date();
可改变指向的变量
原始类型和对象类型的区别
对象类型必须访问链接地址才能得到数值,指向同样对象的变量相互影响
原始类型与对象类型的区别类型进阶
所有对象类型- 浏览器扩展对象
- 宿主对象
浏览器运行环境提供的对象 - 原生对象
JS语言规范的
1.内置构造函数
2.对象
隐形对象转换
隐式对象转换方法
- 数值运算符
数值与字符串相加,自动把数值转化为字符串
数值与字符串相减时,自动把字符串转化为数值 - .用点号调用某个方法时,自动转化为对象类型
3.1415调用toFixed()方法时,自动将3.1415转化为number对象,数值是不含有此方法的 - if语句,转为布尔值
-
==
默认隐式类型转换结果-注意红字
显式对象转换方法
- Number(),String(),Boolean()
- parseInt(),parseFloat()
- !,!!
类型识别
-
typeof
属于操作符,可以识别标准类型,null除外
不能识别具体的对象类型,但可以识别function
typeof可识别的类型 -
instanceof
能够识别内置对象类型
不能识别原始对象类型
能识别自定义对象类型
instanceof可识别对象类型 - Object.prototype.toString.call
Object.prototype.toString.call(123)
返回["object Number"]
Object.prototype.toString.call("123")
返回["object String"]
封装为函数
function type(obj){
return Object.prototype.toString.call(obj).slice(8,-1);
}
-
constructor
constructor