前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >原生JavaScript第二天

原生JavaScript第二天

作者头像
苦咖啡
发布2018-05-08 18:00:51
4670
发布2018-05-08 18:00:51
举报
文章被收录于专栏:我的博客我的博客

1.typeof操作符

typeof操作符用来检测变量的数据类型

2.数据类型

2.1Undefined类型,只有一个值undefined(在使用var声明变量没有初始化的时候,这个变量数据类型的值就是undefined)

注意:没有初始化和没有声明的变量是不一样(虽然typeof返回的值都是undefined,但是没有声明的会报错的)

2.2Null类型,只有一个值null,typeof操作符检测null返回object(这样就可把将来要保存对象的变量初始化为null)

注意:underfined和null两个比较是相等的(也就是说定义为null的变量和未初始化的变量两个比较返回true)

2.3Boolean类型,有两个值true和false(注意这里1不一定等于true,在php里面可以数字0、字符串0、空字符串、false)

当然任何一个值可以通过Boolean()函数显示强制性转换,如果用到if判断条件那么会隐式转换,只有0和NaN、null、underfined、空字符串显示转换才是假

2.4Number类型,包含两种数值整型和浮点型,Nan是一个特殊的值(就是12/0或者0/0的结果)

Number()是转型函数,可以转换任何数据类型,parseInt()是把字符串转成数值整数部分,parseFloat()转成小数

2.5String类型,字符串可以用双引号或者单引号包含表示

2.6Object类型,可以通过new操作符来创建

3.函数

//函数定义

function message(name,age){

alert(‘你的姓名是’+name+’年龄是’+age);

}

//函数的调用

message(‘Joyous’,20);

//带有返回值的函数定义

function msg(){

return ‘这是一句话’;

}

var mess=msg();

alert(mess);

关键的函数使用方法:arguments

function add()

{

var sum=0;

for(var i=0;i<arguments.length;i++)

sum+=arguments[i] ;

return sum;

}

var num1=add(1,2,3,5);

var num2=add(2,5,6,7,2);

这样的意思就是说参数不固定可以使用arguments 4.对象

对象有属性和方法,

//对象创建

var obj=new Object();

var obj=Object();

var obj={};

//对象属性

obj.name=’Joyous’;

var obj={

name : ‘joyous’,

age : 24

}

//获取属性

obj.name;

obj[‘name’]=’Joyous’;

//对象方法

//第一种

function myfun()

{

return ‘Joyous’;

}

var obj=new Object();

obj.run=myfun;

alert(obj.run());

//或者使用obj.run=myfun();alert(obj.run);

var obj={

name : ‘Joyous’,

fun : function(){    //这里是匿名方法

return 123;

}

}

alert(obj.fun());

//删除属性

var obj={

name : ‘Joyous’,

age : 24

}

delete obj.name;

5.数组

//定义数组

var arr=new Array();

var arr=new Array(‘Joyous’,24,’上海’);

//如果这样就是定义存放10个元素的数组

var arr=new Array(10);

//其中以上new都可以省略

var arr=[1,2,4,5];//注意这里最后一个逗号在不同的浏览器会出现不同结果

arr[‘name’]=’Joyous’;

//获取数组

document.write(arr);

//用下标读取

document.write(arr[0]);

备注:数组里面可以存放任何类型元素

6.对象中的方法

//内置方法

var obj = [‘Joyous’,24,’河南’,new Date()];

document.writeln(obj);

document.writeln(“<br>”);

document.writeln(obj.toString());

document.writeln(“<br>”);

document.writeln(obj.valueOf());

document.writeln(“<br>”);

document.writeln(obj.toLocalString());

document.writeln(“<br>”);

document.writeln(obj.join(“|”));

//栈方法,先进后出

var obj = [‘Joyous’,24,’河南’];

obj.push(‘新的元素’);

document.write(obj);

document.write(obj.pop());//后进先出,弹出最后一个元素

document.write(obj);

//队列方法

var obj=[‘Joyous’,24,’河南’];

document.write(obj);

document.write(“<br>”);

document.write(obj.shift());//先进先出,弹出第一个元素

document.writeln(obj.unshift(‘新元素’));//在IE上返回结果返回undefined,所以尽量不要使用。这个方法是在第一个位

置插入元素

document.writeln(obj);

//排序

//从大到小排序

var obj=[2,3,4,5,6];

document.write(obj.reverse());

document.write(obj);

//从小到大

document.write(obj.sort());

document.write(obj);

//默认的sort用来排序数字有问题需要加上以下参数

function compare(var1,var2){

if (var1<var2) {

return -1;

} else if (var1>var2) {

return 1;

} else {

return 0;

}

}

var obj=[0,1,5,10,15];

document.write(obj.sort());

document.write(obj.sort(compare));

//操作方法

var obj=[1,2,3,4];

var obj1=obj.concat(‘新元素’);//创建一个新数组并添加新元素

document.write(obj);

document.write(obj1);

var obj3=[1,3,4,5];

var obj4=obj3.slice(2);//根据传递的数组下标开始建立新的数组

document.write(obj4);

var obj3=[1,3,4,5,3,4,5];

//var obj4=obj3.slice(2);//根据传递的数组下标开始建立新的数组

var obj5=obj3.slice(1,4);//下标为1开始,长度是4-1,总共3个元素

document.write(obj3);

document.write(‘<br>’);

document.write(obj5);

//splice() 方法用于插入、删除或替换数组的元素

var obj1=[1,2,3,4,5,6];

//var obj2=obj1.splice(1,3);

//删除功能,第一个参数是起始下标,第二个是长度,这样就从obj1中删除建立新的数组到obj2中

//插入功能

var obj2=obj1.splice(1,0,’新元素’);

document.write(obj1);

document.write(‘<br>’);

document.write(obj2);//没有输出任何信息

//替换功能

var obj2= obj1.splice(1,2,’新元素’,’第二个新的’);

document.write(obj1);

document.write(‘<br>’);

document.write(obj2);//返回被替换的元素

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012年12月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档