JS的组成:
1):ECMAScript: 它是JS语言的标准,规定了JS的编程语法和基础核心知识
2):DOM: document object model 文档对象模型,提供给JS很多操作页面中元素的属性和方法
3):BOM: browser object model 浏览器对象模型 ,提供了很多操作浏览器 的属性方法,而这些方法都存放在window浏览器对象上
JS的特点:
1):一门解释性的语言
2):一门弱类型的语言- - - - 声明变量都用var
3):一门脚本语言
4):一门基于对象的语言- - - - js不是面向对象的语言,但是可以模拟面向对象的思想
5):一门动态类型的语言- - - - 代码(变量)只有执行在这个位置的时候,才知道这个变量中到底存储的什么,如果是对象,就有对象的属性和方法,如果是变量,就是变量的作用。
对象没有什么对象,只要点了,通过点语法,就可以给对象添加属性和方法。
JS中的几种基本数据类型:
1):number(数字类型):数学上的所有数字, 0,1,-2,3.14
2):string(字符串类型):js里面一切以双引号或者单引号引起来的内容
3):boolean(布尔类型):表示的是事物的对立面,只有两个值,true,false
4):undefined(未定义):一种特殊的数据类型,空值,声明了变量,但没有赋值,只有一个固定值,undefined
5):null(空):表示空值, 这个必须人为赋值,Null类型, 也只有一个值,null
判断数据类型的三种方法:
1):typeof:简单检测数据类型,只能区分基本类型:有六个返回值:number,string,object,undefined,boolean,function (对于null,function,object,array来说,使用typeof都会统一返回object )
2):instanceof:判断这个对象是不是某类型:console.log(arr instanceof Object),即判断arr这个对象是不是Object类型的
3):Object.prototype.toString.call(arr):判断某个对象属于哪种内置类型,这是Object原型中的方法,把Object原型的指向改为arr原型的指向,从而达到判断数据类型的目的
JS的对象:
1):内置对象:系统提供的,如Math,Date,String,Array,Object
2):自定义对象:自己定义的构造函数创建的对象
3):浏览器对象:浏览器自带的
JS中创建对象的三种方式:
1):字面量创建对象
2):调用系统的构造函数创建对象
3):自定义构造函数
Math对象:是一个内置对象,它具有数学常数和函数的属性和方法,但它不是一个函数Math,Math所有的属性和方法都是静态的
Math对象中常用的属性 | |
Math.PI | 圆周率 |
Math.abs() | 绝对值 |
Math.random() | 返回0~1的随机数,包括0,不包括1 |
Math.pow(x,y) | x的y次方 |
Math.floor() | 向下取整 |
Math.ceil() | 向上取整 |
Math.round() | 四舍五入 |
Math.sqrt() | 平方根 |
Math.sin() | 正弦 |
Math.cos() | 余弦 |
Math.tan() | 正切 |
Math.asin() | 反正弦 |
Math.acos() | 反余弦 |
Math.atan() | 反正切 |
Math.log() | 对数 |
Math.max() | 一组数中最大值,数与数中间用逗号隔开 |
Math.min() | 一组数中最小值,数与数中间用逗号隔开 |
Math.E | 自然对数 |