JavaScript学习笔记之入门篇

JavaScript引入
1. 页面级 js:

直接在 HTML 文件里写上 script 标签,写在哪里都可以。

<script type=“text/javascript”>      
	js 代码   
</script> 

其中:type=“text/javascript” 是告诉浏览器这里面放的是js代码

2. 外部js文件:

新建一个 js 文件( 文件名.js), 然后在 HTML 里边写上 < script type=“text/javascript” src = “” >, src 后面放文件地址,并且把js代码写道外部js文件里。

例如:以 lesson.js保存文件,再引入到 html 中 为符合 web 标准(w3c 标准中的一项)结构(html)、行为(js)、样式(css) 相分离,通常会采用外部引入。

在这里插入图片描述

JavaScript变量

HTML,css 不是编程语言,是计算机语言,编程语言需要有变量和函数 变量是存放东西,方便后续使用的框

1. 变量的作用:

存放数据,我们会把一筐数据放到一些变量里,以便于后续使用。

2. 声明变量:

var 变量名;,例如:var a这句话的意思是:我们向程序申请了一 个变量的房间,这个房间的名字叫做 a,说通俗一点,就是我们想向系统要一个名字为 a 的筐,往这个筐里放东西,这就叫声明变量

3. 变量赋值:

例如 var a;,如果你想给 a 这个筐里边放东西的话,可以这么写,例 如a=100,这样就把 100 放进了 a 筐里,注意这里的“=”不能叫等号,叫赋值符号,把 100 这个值赋给了 a,这就叫变量赋值。声明变量和变量赋值两个过程是分开的,没必要非得连在一起。当然也可以写在一起:var a=100;,这是一个简写,其实这里边包含了两个过程:声明变量和变量赋值。如果我们想把 100 打印出来,则 document.write(a);即可。

注意:document.write()括号里如果是变量名的话,不需 要加引号,如果是字符串的话,则需要加引号。

4. 单一 var 模式:

如果需要同时申请多个变量,可以这么写var a,b,c;中间用逗号 隔开(不能用分号,分号是 js 每一句结尾用的),也可以赋值:var a=1,b=2,c=3;打 印的时候也要用逗号隔开 document.write(a,b,c);开发的时候,为了规范书写,需要 在逗号后边加回车,让多个变量多行展示。

<script type=“text/javascript”>      
	var a = 1,
		b = 2,
		c = 3; 
</script> 

注:一个变量里只能存放一个值,如果给变量赋了一个新的值,他原来的值就不存在 了,例如 var a=10; a=20; 这个时候 a 的值是 20。

5. 命名规则:

(用接近的英文单词)———— 起变量名一定要以英文语义化

(1):变量名必须以英文字母_$ 开头。

(2):变量名可以包括英文字母_$、数字 。

(3):不可以用系统的关键字保留字作为变量名 。

关键字(以下为有特殊语法含义的字)

casefinallyreturnvoid
breakelsenewvar
catchforswitchwhile
defaultifthrow
doinstanceoftypeof

保留字(未来可能当做关键字的词)

abstractenumintshort
Booleanexportinterfacestatic
byteextendslongsuper
charfinalnativesynchronize
classfloatpackagethrows
constgotoprivatetransient
debuggerimplementspritectedvolatile
doubleimportpublic
6. 变量的运算:

例如:var a=10; var b=20; var c; c=a+b; document.write ( c ) ; 此时打印出来 30,在计算机里,运算的优先级大于赋值的优先级,也就是先把等号右 边的 a+b 算出来后在赋给 c 的。

<script type=“text/javascript”>      
   var a = 10,
   	   b = 20,
   	   c;
   c = a + b;
   document.write(c);            // c结果为30
</script> 
7. 值类型:

值类型分为原始值引用值(js 属于解释性语言,声明变量只有一个 var, 而且 var 里边可以放入任何值类型,js 里的值类型是由值来决定的,不是由变量决定 的)

(1):原始值分为 Number,String,Boolean,undefined,null

Number:数字类型,例如 var a=1;或 var a=-123.321 都可以。

String:字符串类型,我们有的时候需要把一些中文、数字或者英文等(字符串)输 入到里边,则必须加上引号 var a=“内容”,同样的,字符串也可以 document.write(a) 打印出来。(双引号里边的都是字符串)

Boolean:布尔类型,这里边的值只有两个,分别是 var a=true 和 var a=false,打印出来也是 true 或者 false,它是表示逻辑的词,以后会大有用处。

undefined:这里边的值只有一个,var a=undefined,打印出来也是他,当你声明一 个变量并且没有赋值直接打印的话,出来的就是 undefined,你也可以给变量赋值为 undefined。

null:null 表示占位,var a=null,打印出来也是 null,代表空的意思,空值,假如以后你写了一个方法,又不想要了,又删除不了,这时你可以用空值覆盖。

(2)引用值分为 array,object,function,date,RegExp 等,引用值后续会详细讲解, 这里拿 array 举个例子。 array:数组,相当于一个筐里有很多小格,可以放入很多东西,例如 var arr=[1,2,3,true,“abc”],打印出来也是 1,2,3,true,abc

注:原始值和引用值都是要往计算机里边存的,但是原始值和引用值存的地方不一 样,原始值存在 stack(栈内存)里,引用值存在 heap(堆内存里),栈内存相当于一 个有底没有顶的箱子,先进去的东西最后出来,堆内存相当于一个储物格,散列结构, 怎么放进去怎么拿出来。通俗的讲,栈内存和堆内存里边有好多房间,举个例子,比如说房间号为 1001,1002,1003……

例 1:
原始值有一个特点:不可改变,放进去的值永远改变不了,所以,先在栈内存里 把 1001 号房间改名为 a 房间,里边放了个 10,然后再在栈内存里把 1002 房间改名为 b 房间,然后,b=a 是把 10 这个数字复制过来的,原来 a 里边的数值还在,此时 a 和 b 里边都有 10,再让 a=20 的话,由于原来 a 里边的 10 改变不了,所以系统会把 1003 房 间再次改名为 a 房间,里边放入 20,原来的 a 房间数值 10 还在,只不过把 a 这个名字 去掉了,变回了 1001 房间,成为了一个野房间,那么,b 房间里的 10 还是在那里,所 以打印 b 得 10.

<script type=“text/javascript”>      
   var a = 10;  
   var b = a;  
   a = 20;  
   document.write(b);     //得 10 
</script> 

例 2:
由于声明变量和变量赋值是分开的,所以系统会先在栈内存里先把 1001 房间改 名为 arr 房间,后来发现 arr 里放的是引用值,所以把数值 1 放进了堆内存里的 1001 房间里,此时,栈内存里的 arr 房间里也有东西,放的是堆内存 1001 房间的地址 heap1001,当 var arr1=arr 时,系统会把栈内存里的 1002 房间改名为 arr1 房间,arr1 房间里也放的是堆内存 1001 房间的地址 heap1001,然后 push 的意思就是给数组里加 东西,所以堆内存 1001 房间里加了一个 2 变成了 1,2,栈内存里 arr 和 arr1 还是指向 堆内存 1001 房间,所以打印 arr1 得 1,2. 例 3: 先把栈内存 1001 房间改名为 arr 房间,在堆内存 1001 房间放入 1,2, 把 heap1001 放入 arr 房间,然后把栈内存 1002 房间改名为 arr1 房间,放入 heap1001,此时,给 arr 重新赋值了,则需要在堆内存 1002 房间放入 1,3,然后把栈内存 arr 里边的地址 变为 heap1002,此时 arr 指向 heap1002,arr1 还是指向 heap1001,所以打印 arr1 得 1,2.

<script type=“text/javascript”>      
   var arr = [1];  
   var arr1 = arr;  
   arr.push(2);  
   document.write(arr1);    //得 1,2     
</script> 

例 3:
先把栈内存 1001 房间改名为 arr 房间,在堆内存 1001 房间放入 1,2, 把 heap1001 放入 arr 房间,然后把栈内存 1002 房间改名为 arr1 房间,放入 heap1001,此时,给 arr 重新赋值了,则需要在堆内存 1002 房间放入 1,3,然后把栈内存 arr 里边的地址 变为 heap1002,此时 arr 指向 heap1002,arr1 还是指向 heap1001,所以打印 arr1 得 1,2.

<script type=“text/javascript”>      
   var arr = [1,2];  
   var arr1 = arr;  
   arr = [1,3];  
   document.write(arr1);    //得1,2
</script> 

注意:例 2 中 push 是给原数组里边加东西的,所以不用在开房间,例 3 是重新赋值, 需要在开一个新的房间。

8. js 语句基本规则 :

(1)语句后边要用英文分号结束。

function test( ){}for( ){},if( ){}后面都不用加分号

(2)js 语法错误会引发后续代码终止,但不会影响其他代码块。

  • 低级错误(语法解析错误),不能写中文
  • 逻辑错误(标准错误,情有可原,错的那个执行不了)

(3)书写格式要规范,“±*/=”两边都要有空格。
(4)js 注释:Ctrl+?,单行注释是//注释内容,多行注释为/注释内容/

声明:作者通过观看渡一教育免费公开课及相关文档总结的笔记,不做任何商业用途,仅供学习交流,感谢指正,如有侵权烦请立马联系,欢迎转载,请注明出处。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山大王杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值