文档章节

js再学习

l
 laughing哥
发布于 2017/09/05 20:52
字数 1573
阅读 1
收藏 0
  • 变量格式

变量和其他语法的名字都区分大小写;

变量名允许包含字母、数字、美元符号和下划线(但是第一个字符不允许是数字)

可以这样命名var my_mood="happy";或者var myMood="happy";

  • 数据类型

不必明确声明的变量是字符串还是数字,必须明确类型的语言称为强类型(strongly typed)语言,JavaScript不需要进行类型声明,因为它是一种弱类型(weakly typed)语言。所以程序员可以在任何阶段改变变量的数据类型,比如:

var age="thirty three";

age=33;

这在强类型语言中是非法的,但在JavaScript里没问题。

1,字符串

    由零个或多个字符构成,包括字母、数字、标点和空格,必须在单引号或双引号里

    var mood="happy";

    var mood='happy'; 两条语句含义相同

    在有单引号或者双引号的字符中,就把整个字符串放在双引号或者单引号中。

    var mood="don't ask";

    如果非要用单引号,则要对字符中的单引号转义:

    var mood='don\'t ask';

2,数值

    不必限定为整数,允许任意位小数,也可以是负数

    var age=33.25;

    var temperature=-20.3333333;

3,布尔值

    布尔(boolean)类型

    只有两个值可选:true和false

    var sleeping=true;

    和

    var sleeping="true";

    是两码事

  • 数组

    字符串、数值、布尔值都是标量(scalar),它在任意时刻就只能有一个值,如果想用变量存储一组值,就需要用到数组(array)

    var beatles=Array(4);

表示数组长度是4,beatles中有4个值。

    var beatles=Array();也可以

    在向数组中填充时要给出新元素的值和存放位置

    var beatles=Array();

    beatles[0]="John";

    beatles[1]="Paul";

    beatles[2]="George";

    beatles[3]="Ringo";

    另一种方式是:

    var beatles=Array("John","Paul","George","Ringo");

    也可以:

    var beatles=["John","Paul","George","Ringo"];  

    数组元素可以是字符串,布尔值,数值

    var years=[1940,1941,1942,1943];

    var lennon=["John",1940,false];

    数组元素可以是变量:

    var name="John";

    beatles[0]=name;

    将beatles第一个元素赋值为“John”。

    数组元素的值可以是另一个数组的元素,下面两条语句把beatles数组的第二个元素赋值为Paul:

    var names=["Ringo","John","George","Paul"];

    beatles[1]=names[3];

    数组还可以包含其他数组,数组中的任何一个元素都可以把一个数组作为他的值:

    var lennon=["John",1940,false];

    var beatles=[];

    beatles[0]=lennon;

    beatles中的第一元素就是另一个数组,beatles[0][0]的值是“John”,beatles[0][1]的值是1940。

    关联数组

    在填充数组时为新元素给出下标不必局限于使用整数数字,也可以使用字符串

    var lennon=Array();

    lennon["name"]="John";

    lennon["year"]=1940;

    lennon["living"]=false;

    这样的数组叫关联数组,由于可以使用字符串代替数值,所以代码更具有可读性,但是不建议这样做,因为这实际上是给lennon添加了name,year,living三个属性,理想情况下不应该修改Array对象的属性,而应该使用通用的对象(object)。    

  • 对象

     和数组类似对象也是使用一个名字表示一组值,对象的每个值都是对象的一个属性:

    var lennon=Object();

    lennon.name="John";

    lennon.year=1940;

    lennon.living=false;

    其他创建方式:

    var lennon={name:"John",year:1940,living:false};

    var beatles={};

    beatles.vocalist=lennon;

    现在beatles.vocalist.name的值是“John”,beatles.vocalist.year的值是1940,beatles.vocalist.living的值是false。

 

 

  • 操作

    算术操作符,加法减法乘法除法对应操作符(operator)才能完成,+-*/,

    变量可以包含操作

    var total=(1+4)*5;

    变量也可以包含操作

    var temp_fahrenheit=95;

    var temp_celsius=(temp_fahrenheit-32)/1.8;

    给一个变量加1:

    year=year+1;或者year++;

    加号(+)可以用于数值也可以用于字符串,把两个字符串合二为一:

    var message="I am feeling"+"heppy";

    这种将多个字符首位相连的操作叫拼接(concatenation)

    +=可以一次完成加法和赋值

    var year=2010;

    var message="The year is";

    message+=year;

    alert(message);

    得到The year is 2010;

 

  • 条件语句

    if(条件){语句1};  

    只有条件为true时才运行语句。

     if(条件){语句};  

    else{语句2};

    如果条件为true时运行语句1,为false时运行语句2.

    比较操作符>,<,>=,<=,==(等于),!=(不等于)

    相等操作符==并不表示严格相等,例如false与一个空字符

    var a=false;

    var b="";

    if(a==b){alert("a equal b")};

    应用全等操作符===,不仅比较值而且比较变量类型。

    !=对应!==

  • 逻辑操作符

    与:&&,或||,非!(布尔值取反,例如if(!(1>2){})

  • while循环

    while(条件){语句},和C语言类似,不赘述

    do{语句}while(条件);执行完语句再求值条件

  • for循环

    for(赋值,判断,操作){语句},和C语言类似,不赘述

  • 函数

    function shout(){}

  • 作用域

    全局变量和局部变量其实说的就是变量的作用域

    举例:

function square(num){
			total=num*num;
			return total;
		}
		var total=50;
		var number=square(20);
		alert(total);
		alert(number);

弹窗为400和400,因为此时函数中的total没有声明(var)为局部变量,所以函数里面的total是全局变量

function square(num){
			total=num*num;
			return total;
		}
		var number=square(20);
		var total=50;
		alert(total);
		alert(number);

弹窗为50和400,

function square(num){
			var total=num*num;
			return total;
		}
		var total=50;
		var number=square(20);
		alert(total);
		alert(number);

弹窗为50和400,函数中的total是局部变量(已经用var声明),所以不会影响外部total 的值。

48页

  • addLoadEvent

他的参数:打算在页面加载完毕时执行的函数的名字

function addLoadEvent(func){
	var oldonload = window.onload;
	if(typeof window.onload != "function"){
		window.onload = func;
	}else{
		window.onload = function(){
			oldonload();
			func();
		}
	}
}

!= 在表达式两边的数据类型不一致时,会隐式转换为相同数据类型,然后对值进行比较. !== 不会进行类型转换,在比较时除了对值进行比较以外,还比较两边的数据类型, 它是恒等运算符===的非形式.

关于addLoadEvent函数,这里有个详解,http://www.cnblogs.com/joyan/archive/2010/06/29/1767577.html2010年写的文章,直到今天依然很受用,博客的魅力!

 

 

 

 

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
上一篇: jQuery小记总结
下一篇: jQuery小记总结
l
粉丝 0
博文 2
码字总数 2323
作品 0
私信 提问
如何轻松快速学习JavaScript 呢?

JS给人那种感觉的原因多半是因为它如下的特点: 1:本身知识很抽象、晦涩难懂,如:闭包、内置对象、DOM。 2:本身内容很多,如函数库,对象库就一大堆。 3:混合多种编程思想。 4:辛苦学习...

课工场CC老师
2017/11/04
0
0
分享51本关于JavaScript方面的学习书籍(免费下载)

分享51本关于JavaScript方面的学习书籍(免费下载) 1、JavaScript面向对象15分钟教程 2、原型、作用域、闭包的完整解释 3、Javascript面向对象特性实现(封装、继承、接口) 4、JavaScript面向...

邓剑彬
2012/12/02
1K
12
HTML 5视频教程系列之JavaScript学习篇-何韬-专题视频课程

HTML 5视频教程系列之JavaScript学习篇—52816人已学习 课程介绍 HTML 5视频教程系列中JavaScript开发的基础知识讲解及学习。 课程收益 通过自学视频掌握HTML 5开发手机应用和手机游戏的技能...

pkutao
2015/02/10
0
0
我不开玩笑,2018 年你还需要学习 JavaScript 

JavaScript 是 web 开发语言。看看网上点击量超过 1000 万受欢迎的网页,将近 95% 的是用 JavaScript 开发的。 我们再来看 2018 最具就业前景的 7 大编程语言。JavaScript 位居第三。 像谷歌...

周其
2017/12/27
5.3K
21
Dart 比 JavaScript 更酷的10个理由

Dart 是 Google发明的一种新的编程语言。在使用JavaScript一年多以后,我对Dart可谓是一见钟情。我以前是做Java的,我在用JS的时候要学习很多新东西。 有人说你必须深入研究JavaScript,否则...

虫虫
2012/01/04
7.3K
13

没有更多内容

加载失败,请刷新页面

加载更多

case when then

case具有两种格式。简单case函数和case搜索函数。 --简单case函数case sex when '1' then '男' when '2' then '女’ else '其他' end--case搜索函数case when sex = '1' the...

architect刘源源
11分钟前
0
0
Kubernetes探秘—kubelet的配置参数

kubelet是Kubernetes中的核心组件,需要在每一个节点安装,也是kubernetes集群启动的第一个服务。kubelet的参数存放在多个目录,修改时如果不完整就会导致各种错误,下面我们kubelet的参数存...

openthings
14分钟前
0
0
如何通过 MySQL 的二进制日志恢复数据库数据

经常有网站管理员因为各种原因和操作,导致网站数据误删,而且又没有做网站备份,结果不知所措,甚至给网站运营和盈利带来负面影响。所以本文我们将和大家一起分享学习下如何通过 MySQL 的二...

吴伟祥
23分钟前
1
0
org.apache.catalina.startup.Catalina stopServer SEVERE: Could not contact localhost:8005. Tomcat may

org.apache.catalina.startup.Catalina stopServer SEVERE: Could not contact localhost:8005. Tomcat may 2017年07月21日 14:52:10 子木HAPPY阳VIP 阅读数:14134 标签: tomcatnginx 更多......

linjin200
25分钟前
1
0
线下工坊|Blockchain Coding Day:零基础教你开发DAPP(北京)

我们的目标是通过编程学习让你更了解区块链技术。这将对区块链开发初学者一次很好的体验。这里需要强调一下,编程零基础也能学会。 我们将以小组的形式,由教练带领学员完成DAPP开发。每位学...

HiBlock
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部