js语言
javascript和php都是解释执行的语言
语言分解释执行和编译执行
编程语言-》计算机语言
解释执行就是每次运行都要翻译一次(通过php解释引擎,js引擎)
编译执行就是先通过编译器变成二进制可执行文件,计算机能直接读懂,这部分需要花一些时间,但是之后就运行可执行文件就可以了
JavaScript和java语言本身没有关系,网景公司开发的在浏览器上运行的脚本语言是livescript,后来碰上java如日中天,就改名抱大腿了
变量名--》内存地址
Var a = 20; //先在变量档案里生成一个a变量,并且为a在内存中申请一个地址,再把a变量的地址属性指向地址,最后在地址里面存一个值20
js中数组,对象,函数的赋值操作,默认是引用赋值,不能改变,而不像php中要用&取地址符
js系统函数
js数组
var array=[];
var array1=new Array();
var arr=['a','b','c'];
var arr1=new Array('a','b','c');
var arr2=new Array(10);//创建长度为10的空数组
for(var i=0,len=arr.length;i<length;i++){
document.write(arr[i]+"<br/>");
}
如果修改length,大于原来的长度,则以undefined填充。
js的内置对象:
在js中,所有的变量(除了undefined)都能被js引擎包装成对象处理。比如var str=“world”;str本来没有length属性
在执行str.length前一瞬间,js引擎将会把字符串包装成一个对象,并有一些属性和方法
字符串对象会有哪些属性:concat(string ) replace(str1,str2) toLowerCase() toUpperCase() indexOf(String) subStr(num[,num])
还有Date内置对象
系统内置对象
js中,字符串,数值,布尔,数组,null,Math,虽然没有属性,但是在调用的前一瞬间js引擎会被包装成对象,有一些属性和方法
还有一些new得到的对象,Date,日期/时间对象必须先通过new来得到对象
Math和String对象一样,不用new也能直接当作对象来调用他的方法。
数组对象的方法:
push()添加元素返回新长度 pop()删除最后一个元素splice() 删除指定元素shift()去掉第一个元素 concat()连接成新数组 join()连接成字符串 sort() reverse()
slice()取一小段 unshift()数组头部添加元素并返回新数组
作业:setInterval setTimeout