JS中万物皆对象,如字符串、数字、日期、数组、函数等,也可以自定义对象
创建对象的方法如下:
person = new Object()
// 也可以这样写,更简单:person = {}
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
person = {firstname:"Bill",lastname:"Gates",age:56,eyecolor:"blue"}
function Person(firstname,lastname,age,eyecolor) { this.firstname = firstname; this.lastname = lastname; this.age = age; this.eyecolor = eyecolor; } var person1 = new Person("艾萨克","牛顿",380,"green");
this.changeName = changeName;
,然后再定义函数方法function changeName(name) {
this.firstname = name;
}
访问对象的属性可通过objectName.propertyName
访问对象的方法可通过objectName.methodName()
可以通过for in循环将对象的每个属性遍历一次,举例在稍后的"js语句"部分
javaScript 只有一种数字类型,即双精度浮点数,可以带或不带小数点。可通过科学计数法表示极大或极小的数:
var y=123e5; // 12300000
var z=123e-5; // 0.00123
js中数字类型都存储为8个字节的长度,即64位,其中:
第1位: 符号位,0表示正数,1表示负数
第2位到第12位: 储存指数部分
第13位到第64位:储存小数部分(即有效数字)
精度范围(10进制):整数最多15位,小数最多17位
如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。
可以通过“new”来声明变量的类型。
var carName = new String;
var x = new Number;
var y = new Boolean;
var cars = new Array;
var person = new Object;
常用的属性
str.length
:获取长度常用的方法
txt.small();txt.fontsize(16)
此类方法通过标签为字符串添加样式,因可用css实现效果,故此处略过str.indexOf("hello")
"hello"在字符串str中第一次匹配的下标,如果不匹配返回-1str.match("world")
"world"在字符串str中如果存在则返回这个字符串,否则返回nullstr.replace("Microsoft","W3School")
将str字符串中第一次出现的"Microsoft"用"W3School"替代txt.toUpperCase()
将txt字符串中的字符转换为大写Date()
:获取当前日期时间
new Date().getTime()
:从1970年至今过去的毫秒数(注意这里有关键字“new”)
var date = new Date(); date.setFullYear(1985,9,2)
:设置日期为1985年10月2日(请注意月份从0开始)
new Date().setFullYear(1985,9,2)
,否则会返回毫秒数,原因暂不明确;
new Date().toUTCString()
:将日期转换成字符串
new Date().getDay()
:例子请见语句中的switch部分
通过获取当前时分秒,生成一个动态时钟
setTimeout(function(){ testClock(thisbtn) },500);
日期可以根据时间先后做大小比较。
数组的定义有四种方法
var arr = new Array();
只声明,需要时再赋值var arr = new Array(5);
指定长度var arr = new Array(elem0,elem1,elem2...);
声明的同时赋值var arr = [elem0,elem1,elem2...];
声明的同时赋值,这种我喜欢O(∩_∩)O~数组的赋值:arr[0]="str1";arr[1]=obj1
数组的访问可通过数组名和下标进行:alert(arr[1])
数组的修改,即对要修改元素重新赋值即可:arr[0]="str2";
在js中,如果对象未初始化或者其值为0,-0,null,NaN,"",false,undefined这7种时,其逻辑值为false,其余的逻辑值都为true。
字符串"false"的逻辑值也为true。
可以通过new Boolean(obj)
的方法来检查对象obj的逻辑值
Math.round()
可对一个小数进行四舍五入到整数
Math.random()
可返回一个0到1之间的随机数,但不包括0
Math.max(num1,num2);Math.min(num1,num2);
返回两个数中比较大(小)的一个
JavaScript 提供 8 种可被 Math 对象访问的算数值及使用方法:
Math.E
Math.PI
Math.SQRT2
Math.SQRT1_2
Math.LN2
Math.LN10
Math.LOG2E
Math.LOG10E
后面专题学习,先跳过