js再学习
js再学习
laughing哥 发表于3个月前
js再学习
  • 发表于 3个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: JavaScript之前看视频学的,但是除了会写一些代码,总觉得学的不仔细,现在再看JavaScript DOM编程艺术,打算好好学一下,记录学习点滴
  • 变量格式

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

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

可以这样命名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年写的文章,直到今天依然很受用,博客的魅力!

 

 

 

 

 

 

 

 

 

 

 

 

 

共有 人打赏支持
粉丝 0
博文 2
码字总数 2323
×
laughing哥
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: