**\>变量与数据类型** \>\>定义:JavaScript,是一种脚本语言(编程语言,用来控制软件应用程序,以文本(ASCIIS)形式保存,在需要时被调用进行解释或编译),广泛应用于客户端网页开发,现在服务端也有应用NODEJS。动态、弱类型、基于原型的语言。像大多数编程语言一样,有变量、类型、流程控制 \>\>变量名称规则:字母下划线或美元符开头,大小写敏感,不允许使用js的关键字或者保留字作为文件名(作为解释性语言的一大优势就是不用考虑变量类型,提前分配孔家,编译过程中,分配空间就行) \>\>变量类型:整型,浮点型,字符型,字符串。 \>\>变量定义:var 变量名; (感觉像是C的私生子,有些地方不是那么严格,更加灵活变通) **\>变量运算** \>\>自增自减运算 \>\>简化运算。 \>\>字符串之间可以直接进行加法运算,表示连接。 \>\>字符串可以和其它类型的变量加法,表示转换成字符串类型,并连接。 \>数组 \>\>用于存放多个各种类型的数据,便于访问 \>\>数组的定义: var arr = new array()//参数是数组长度 var arr = [‘a','b','c'];//可以直接使用数组内的元素定义 \>\>数组支持嵌套,多重数组(有点类似于存有多种数据的广义表) \>\>数组一定有length属性,arr.length等于键名中最大值加一。 \>\>数组的长度可以直接在定义数组的时候给出 \>\>数组的定义函数:参数可以是数组,也可以是变量初始化数组中的数据。 \>\>数组的长度可以在任意时候添加,不会出现越界,这就是解释性语言的好处。 **\>对象** \>\>定义:带有自己的属性和方法的数据类型。含有多个键值对。 var o = { p:"hello" } var 变量声明,o 变量名称,p 键名(属性名), hello 键值(属性值), 冒号分隔。数据对象的大括号包含,最后加分号。当键名不符合标识符的条件时,必须加引号 \>\>创建语句: var ogj1 = {}; //大括号,只是声明了这是个对象,但不能说明这个对象属于哪一个类(类和类的对象的理念) var obj2 = new Object(); //相当于调用对象的构造函数,然后形成一个新的对象 var obj3 = Object.create(null);//想当于调用一个已知对象的构造函数 \>\>对象的引用,如果不同的变量指向同一个对象,他们都称作这个对象的引用,也就是说这些对象指向同一个内存地址,修改其中一个变量的属性,会影响到其他的变量。 \>\>对象属性访的问方式: 对象名.对象的属性。objectName.propertyName //数据成员 \>\>对象方法的访问方式:objectName.methodName(); //成员函数 \>时间类的对象定义: var now = new Data(); //定义了一个时间对象now now.setTime(); // 设定时间 now.getTime(); //得到完整的时间 now.getFullYear(); //的到年份 now.getMonth(); //得到月份 now.getData(); //得到日期几号 now.getHours(); //得到小时 now.getMinutes(); //得到分钟 now.getSeconds(); //得到秒 now.getDay(); //星期 \>string类的 对象的使用 对象的定义: var mystr = “i like javascript”; var mystr = new String("some string"); 对象的访问: string.toUpperCase(); string.toLowerCase(); string.charAt(number); //返回指定的单个字符 string.indexOf(substring, startpos); //在字符串中寻找子串 string.split(separator, limit); //将字符串分割为字符串数组,separator是分割符,limit是分割次数 string.substring(startpos,stoppos); //截取子串,参数分别是起止下标(终止与stop-1) string.substr(startpos, length); //截取指定长度的子串,参数分别是起始值、子串长度 \>Math对象(本身就是一个对象而不是类) \>\>对象成员的使用 Math.PI //圆周率 Math.abs() //绝对值 Math.ceil()/floor()/round() //分别是向上取整,向下取整,四舍五入。 random(); //返回0到1之间的随机数(包含0不包含1) Math.min() / Math.max(); //返回指定数值中最低值 \>数组类的对象使用 \>\>数组对象的定义方法: var 数组名 = new Array(); var 数组名 = new Array(); var 数组名 = [元素1,元素2,元素3,,,,,] \>\>数组对象的使用 数组名[下标] = 值 \>\>数组对象的属性 arr.length //数组的长度 arr.concat(arr1, arr2,arr3.....) //链接多个数组,不改变数组对象arr,返回值是多个数组的连续 arr.join(separator); //separator是指分割符。 arr.reverse(); //倒序,arr被改变 arr.slice(start, end); //返回子数组,不包含end,负数表示从末尾开始想前数,不修改原来的数组 arr.sort(方法函数); //如果不指定函数,按Unicode编码的顺序排列