JS 从入门到精通

Posted himpq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 从入门到精通相关的知识,希望对你有一定的参考价值。

javascript.输出

JavaScript向网页的输出方式是通过document对象的write方法:

document.write(something);

或者带有换行的

document.writeln(something);

JS输出内带有变量的:

d = "Hello World!";

document.write(d+"!!");

JS输出内也可以带有函数

function a(){return "Hello World!";}

document.write(a); //Hello World!

 

Javascript.函数

JS函数分为匿名函数与带有名字的函数。

匿名函数通常是自执行,有名函数是通过函数名使用。

匿名函数:

(function(){

 document.write("Hello World!");

}()); //大括号结尾的()就代表自执行

带有名字的函数:

function a(){

 document.write("Hello World!");

}

a(); //使用函数名执行

函数也可以存在一个变量当中

例如:

var a = function(){ //匿名函数

 document.write("Hello World!");

};

a();

使用变量中的函数也可以使用变量名+();来使用。

 

Javascript.变量

变量就是存放字符串或者函数、对象、数组等的容器

就好比你把字写在纸上,并且使用一个瓶子(相当于变量)来装

变量的声明:

var a;

多变量声明:

var a,b,c,d...;

变量声明(函数内)不使用var就表明他是局部变量,函数外无法访问

例如

(function(){

 a=10;

 var b=20;

}()); //a=undefined | b=20

函数内不可以这样声明:

a,b,c,d,e...;

正确为a=""; b="";...

变量的增加

如果这个变量是一个数字,可以使用++。

a=1;

a++; //2

如果是一个字符串,你想要在尾部增加:

a="Hello ";

a=a+"World!"; //Hello World!

更简单的方法:

a="Hello ";

a+="World!"; //Hello World!

变量未声明前与声明后没有赋值的值都是undefined或者null

 

Javascript.替换html中的内容

假设有一个p标签,id为abc,你想替换他的内容:

document.getElementById(‘abc‘).innerHTML=something;

使用了document对象的getElementById方法,再将innerHTML的值替换为其他的。

替换css

document.getElementById(‘abc‘).style.color=‘red‘;

将css字体颜色替换为红色

总结:

替换css:

document.getElementById(ID).style.[styleName] = [Value];

替换内容:

document.getElementById(ID).innerHTML = [Value];

 

Javascript.数字、数组、字符串

数字大家都知道,就是阿拉伯数字,而中国汉字的数字类型只能为字符串

字符串表示一段字符,比如你的习作,转移到js来就是一长段字符串。

数字也有最大,js使用了Number对象中的无限?来表示无限

数组可以分为键与值(Key=>Value)

数组的声明:

a=[];

a=new Array();//new Array(这里可以写数组的大小或内容)

a.length; //数组的长度

数组如果你不声明键名他会自动为0-...

例如

a=[‘Hello‘,‘Hi‘];//Hello键名为0,Hi键名为1

使用方法:

document.write(a[0]+a[1]); //HelloHi

当你想要知道数组里所有的变量,请使用for

for有两种形式:

1.0-数组结尾遍历法

for(i=0; i < x.length; i++){

 //x[i]代表值,i代表键名

}

这种方法只能使用于键名为数字的数组,通用方法为

for(key in x){

 //x[key]代表值,key代表键名

}

这样一来,数组就可以变为字符串

但是字符串怎么变成数字?

使用split方法!

a="1,2,3,4,5";

arr=a.split(",");//以“,”为分割线,如果分割失败则返回该字符串

成功后:[1,2,3,4,5];

变成了一个数组,如果split("");将会把字符串每一个字都分割下来

 

Javascript.对象

对象可以指任何一个事物,对象和数组一样可以存放东西,也有键与值。

比如我们经常用的document、navigator都是对象。

对象的创建:

a = new Object();

或者

a = {};

对象内可以包含函数,比如

a={

 myName : function(){

  alert("my Name is a");

 }

};

a.myName(); //my Name is a

对象内也可以包含字符串以及数组、数字、布尔值:

a={

 a:true,b:123,c:"String",d:["1","2","3"]

}; //a.a = true || a.b = 123 || a.c = "String" || d = ["1","2","3"]

访问对象内的变量使用

a[键名];

或者

a.键名

当监控是一个变量时只能使用第一种方法

你还可以通过其他方法给对象赋值:

a={};

a[‘name‘] = ‘jerry‘; //数组的赋值方法

a.name = ‘jerry‘; //第二种赋值方法

如果你想将对象化成字符串,可以使用对象JSON提供的方法:stringify

a={name:‘jerry‘,age:20};

b=JSON.stringify(a); //‘{"name":"jerry","age":20}‘

如果你想将JSON字符串化成对象,还可以使用JSON提供的方法:parse

a=‘{"name":"jerry","age":20}‘;

b=JSON.parse(a); //[Object object]

除此之外,还有一个构建对象的方法——使用函数构建

function a(name,age){

 this.name = name;

 this.age = age;

 this.say = function(){alert(‘我叫‘+this.name+‘,今年‘+this.ahe);};

}

pepole = new a("Jerry",20);

people.say(); //我叫Jerry,今年20

这个类似于IE的Ajax构建方法(new XMLHttpRequest();)

 

Javascript.Ajax

Ajax是一个...额...怎么说呢,相当于一个抓取网页内容的插件

每一个浏览器都自带Ajax

比如a.html输出“<h1>你好世界</h1>”,b.html通过Ajax抓取a.html的内容,

也会显示“<h1>你好世界</h1>”

下面来讲Ajax的用法:

因为每个浏览器构建Ajax的方法不同,所以要分两步构建

try{ //Safari,火狐等

 xmlHttp = new XMLHttpRequest();

}catch(e){ //IE构建方法,好像也有360浏览器

 try{

  xmlHttp = new ActiveXObjex(‘Msxml2.XMLHTTP‘);

 }catch(e){

  try{//新版IE

   xmlHttp = new ActiveXObject(‘Microsoft.XMLHTTP‘);

  }catch(e){alert(‘您的浏览器需要更新! 错误:不支持AJAX的浏览器‘); return;}//实在找不到了

 }

}

现在xmlHttp对象已经创建好了,接下来是设置函数

xmlHttp.onreadystatechange = function(){ //当已经得到了信息后的反应

 if(xmlHttp.readyState == 4 && xmlHttp.status == 200){ //确认Ajax成功获取信息

  //然后就是你自己写了,返回的信息在"xmlHttp.responseText"

 }

};

xmlHttp.open(传送方式,要获取信息的链接,true);

xmlHttp.send();//发送

传送方式可以为POST或者GET

如果是链接要加http://

如果你熟知了Ajax你可以写一个在线的聊天系统

 

Javascript.计时器与倒计时

计时器: setInterval(匿名函数或者"xxx()",隔几秒执行);

计时器会返回一个专属ID,可以使用clearInterval删除计时器

例如:

function x(){

alert(‘三秒‘);

}

a = setInterval("x()",3000); //3000指的是三千毫秒,以毫秒为单位

clearInterval(a); //删除计时器

倒计时: setTimeout(匿名函数或者"xxx()",隔几秒执行);

同样,参数2也是以毫秒为单位

function s(){

 alert(‘三秒‘);

}

setTimeout(‘s()‘,3000);

//三秒后执行弹框“三秒”,只执行一次

以上是关于JS 从入门到精通的主要内容,如果未能解决你的问题,请参考以下文章

好课资源共享:6React.js 框架从入门到精通

react.js从入门到精通——组件之间的数据传递

百度云好课分享C++从入门到精通奇牛学院

Js从入门到精通——基础知识2

《wireshark从入门到精通》

《wireshark从入门到精通》