3、js/jQuery(1)

本人是看李炎诙老师的js/jQuery教程,每次看完之后忘得特别快,用的时候无从下手;这里重新整理下笔记。


引入其他js文件:

<script type="text/javascript" src="demo1.js"></script>

不支持 JavaScript 处理:

<noscript>您没有启用 JavaScript</noscript>

javascript是一种松散型语言,变量可以先不用声明为何种类型,而直接赋值;(见java16章)

 

多个变量赋值格式(用逗号隔开  最后一分号结束;与java不一样,格式尽量对齐)

var box= '李炎恢',

      age = 28,

      height;

查看数据类型:

<head><script type="text/javascript">alert(typeof "ok")</script></head>

一个变量没有进行赋值的 类型 是 undifined类型

空对象引用的返回值是object,比如var x=y; y=null;

虽然定义了不同的含义但是 undifeind==null;

 

在javascript中,一个变量有不为空的值,布尔表示为true,如var x=2;if(x){}

利用isNaN()判断一个数据是否为非数字,如alert(isNaN("ok")); //true

 

将非数值转换为数字的3个函数:

Namber()

alert(Number(''));

alert(Number('123df'));  //NaN无法解析

 

parseInt也能解析8进制和16进制;

parseInt(''); //Nan

alert(parseInt('123df'));  //123

alert(parseInt('df123')); //NaN无法解析

alert(parseInt('0xA')); //10

alert(parseInt('A',16)); //10

parseFloat()与parseInt用法相似,用于浮点精度上,不能解析16/8进制

 

利用toString()进行进制转换;

var x =16;

alert(x.toString(8)); //20 

 

函数声明方式(与java也不相同,没有要求是否有返回值或返回类型,并且在参数传递上有很大不同);

function fun1(){};

带参数与返回值的函数,不需要声明参数类型:

function fun2(x,y){

if((typeof x)=='number'&&(typeof y)=='string')

return "我是:"+y+",年纪:"+x;

}

alert(fun2(21,'skx'));

 

声明一个无参函数,却能通过arguments[x]读取:

function fun3(){

alert(arguments[0]);

}

fun3(21); //在Java中是不可能调用的;

javascript中的函数没有像java中所说的方法重装的概念;arguments是个数组。

 

对象创建的几种方式:

1、var obj = new Object();

            obj.name = 'skx';

            obj.age = 27;  //赋值语句,用分号结束,可以省略new关键字,不推荐

2、var obj ={

                     name : 'skx',    //或者'name'

                      age:21            //'age'

                   };  

        //注意!非最后一句用逗号隔开,最后一句不用符号结束,在大括弧}外用分号结束。

3、var obj =  {};   //等同new Object();

 

调用对象属性:

alert(obj.age);

alert(obj['age']);  //没有点

删除对象属性

delete  obj.name;

 

给对象创建方法:

var obj = {

   fun1 : function(x){alert(x);} //参看3的格式

};

obj.fun1("hello");

 

像方法中传递一个(匿名)对象参数,比如fun(x){...}

fun({name:'ok';});  {//里面的内容参看3}

 

创建数组 

var  array1 = new Array('skx','ok','hello');

var  array2 = ['skx','ok','hello'];

alert(array1[2]);

 

alert(array2[1]);

创建对象数组:

var  arrayobjs = [{},{},{}];

在数组中使用  array1.join("#");  逗号变为#号;

 

对数组操作:

数组尾添加元素:array1.push('ok');

去除数组尾元素:array1.pop();

数组头添加元素:array1.unshift('one','two');

移除数组首元素:array1.shift();

数组截取元素:var  array2 = array1.splice(1,3); //相当于删除

上面这5条语句都会改变原数组,利用splice还可以进行插入、替换:

array4.splice(3,0,888888)  //在第4个位置,长度为0,替换为888888

array4.splice(3,2,888888)  //在第4个位置,长度为2,替换为888888

 

数组尾添加与元素不改变原数组:var  array2 = array1.concat("world");

数组截取元素不改变原数组:var  array2 = array1.slice(1,3);

 

逆序:var  array4 = new Array(1,9,3,4,5,6);    document.write(array4.reverse());  //6,5,4,3,9,1

排序:document.write(array4.sort());  //1,3,4,5,6,9

要从大往小排,可以先排序在逆序

 

时间 

Date.parse(string)和Date.UTC(string)是将传进来的字符串转换为毫秒数;

var Millisecond = Date.parse("10/15/2014 14:00:36");  //月/日/年  1413352836000 后000表示整秒

document.write(Millisecond);

var date =  new Date(Millisecond); //将毫秒转换为时间

document.write("\n"+date);  //Wed Oct 15 2014 14:00:36 GMT+0800 (中国标准时间)

 

document.write(new Date("10/16/2014"));  //直接打印Thu Oct 16 2014 00:00:00 GMT+0800 (中国标准时间)

百度输入 “60天  毫秒”可以显示60天为多少毫秒,比如我现在要显示60天前的这个时间

var nowMs = Date.parse(new Date("1/10/2014 14:20:36"));
//60天= 5184000000ms
var oldMS = nowMs - 5184000000;
document.write(new Date(oldMS).toLocaleString());  //2013年11月11日 下午2:20:36
如果不会其他的日期方法,使用这个绝对不会出错;

 

当然在写代码的时候添加以下语句,将节省时间:

获取时间的毫秒数 

var date = new Date();
document.write(date.getTime()+"\n");    //1413440880723 精确到毫秒数
document.write(Date.parse(date));       //1413440880000 精确到秒

 

获取年、月、日:

document.write(date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate());

更改年、月、日:

  date.setFullYear(2012); //更改年份

  date.setMonth(13);  //没有13月,转换到第二年,13是第二年的2月,11是12月

  date.setDate(32);  //一月没有32天,转到第二月

document.write(date.toLocaleString());  //2013年3月4日 下午2:54:53

获得时、分、秒、毫秒;

document.write(date.getHours()+":"+date.getMinutes()+":"+date.getSeconds()+":"+date.getMilliseconds());

设置时、分、秒、毫秒

var date = new Date();

  date.setHours(2); //更改小时

  date.setMinutes(0);  //更改分钟,不能为空

  date.setSeconds(32);  //更改秒

  date.setMilliseconds(132);  //更改秒

document.write(date.getTime()); //用toString()不能打印毫秒 1413396032132

 

获取星期:

document.write(date.getDay());

好像不能设置星期;

 

 

你可能感兴趣的:(jquery)