欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js全面学习-javascript的基础知识-概念篇(1)

程序员文章站 2024-02-04 14:18:46
...

接触js陆陆续续有两个月,由于大三在学校上课,所以并没有深入研究js,所以未来一段时间内,每天都会抽出时间深入学习js,以写博客的形式记录自己所学过的知识,也希望能对大家起到帮助。—-实践(敲代码)出真知啊兄弟们~我们一起努力!

自学JS,最系统的方法应该就是W3C上的,那么如何来学习呢,大体上看来,网站表述的内容,是先搭好架子,在填充内容,最后以实例去熟悉所学过的内容,在这个过程中我们所接触的知识点可以在参考手册中查询,接下来开始一部分一部分的复习。

一、什么是javascript

JavaScript 是脚本语言
JavaScript 是一种轻量级的编程语言。
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
JavaScript 很容易学习。

提示

JavaScript 与 Java 是两种完全不同的语言,无论在概念还是设计上。
Java(由 Sun 发明)是更复杂的编程语言。
ECMA-262 是 JavaScript 标准的官方名称。
JavaScript 由 Brendan Eich 发明。它于 1995 年出现在 Netscape 中(该浏览器已停止更新),并于 1997 年被 ECMA(一个标准协会)采纳。

正文

第一点、JS实现

内部的JavaScript
HTML 中的脚本必须位于 <script></script> 标签之间。
脚本可被放置在 HTML 页面的 <body><head> 部分中。

<script></script> 会告诉 JavaScript 在何处开始和结束。
<script></script> 之间的代码行包含了 JavaScript:

外部的 JavaScript
也可以把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。
外部 JavaScript 文件的文件扩展名是 .js
如需使用外部文件,请在 <script> 标签的 “src” 属性中设置该 .js 文件:
代码如下:

<script src="myScript.js"></script>

第二点、JS如何输出

操作 HTML 元素
如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) 方法。
请使用 “id” 属性来标识 HTML 元素:

<h1>我的第一张网页</h1>
<p id="demo">我的第一个段落</p>
<script>
document.getElementById("demo").innerHTML="我的第一段 JavaScript";
</script>
JavaScript 由 web 浏览器来执行。在这种情况下,
浏览器将访问 id="demo" 的 HTML 元素,
并把它的内容(innerHTML)替换为 "My First JavaScript"。

写到文档输出
下面的例子直接把 <p> 元素写到 HTML 文档输出中:

<script>
document.write("<p>我的第一段 JavaScript</p>");
</script>

警告
请使用 document.write() 仅仅向文档输出写内容。
如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖:
大家可以看下面的代码内容:

<h1>我的第一张网页</h1>
<p>我的第一个段落。</p>
<button onclick="myFunction()">点击这里</button>
<script>
function myFunction()
{
document.write("糟糕!文档消失了。");
}
</script>

第三点、变量

变量是存储信息的容器。
例如:

var x=2;
var y=3;
var z=x+y;
在代数中,我们使用字母(比如 x)来保存值(比如 2)。
通过上面的表达式 z=x+y,我们能够计算出 z 的值为 5。
在 JavaScript 中,这些字母被称为变量。

那么请注意
变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。
变量必须以字母开头
变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
变量名称对大小写敏感(y 和 Y 是不同的变量)
提示:JavaScript 语句和 JavaScript 变量都对大小写敏感。

JavaScript 数据类型
JavaScript 变量还能保存其他数据类型,比如文本值 (name=”Bill Gates”)。
在 JavaScript 中,类似 “Bill Gates” 这样一条文本被称为字符串。
JavaScript 变量有很多种类型,但是现在,我们只关注数字和字符串。
当您向变量分配文本值时,应该用双引号或单引号包围这个值。
当您向变量赋的值是数值时,不要使用引号。如果您用引号包围数值,该值会被作为文本来处理。
例如:

var pi=3.14;
var name="Bill Gates";
var answer='Yes I am!';

那么大家知道下面这段代码的效果是什么样的吗?可以粘贴到自己的编辑器上去看一看~

<p id="demo"></p>
var carname="Volvo";
document.getElementById("demo").innerHTML=carname;

Value = undefined

var carname;

将undefined加粗,是因为它很重要,在面试和我们实际运用中,都能得到体现。
在计算机程序中,经常会声明无值的变量。未使用值来声明的变量,其值实际上是 undefined。 在执行过以下语句后,变量 carname
的值将是 undefined: 请大家牢记这段话。

重新声明 JavaScript 变量
如果重新声明 JavaScript 变量,该变量的值不会丢失:
在以下两条语句执行后,变量 carname 的值依然是 “Volvo”:

var carname="Volvo";
var carname;

第四点、JavaScript 数据类型

字符串、数字、布尔、数组、对象、Null、Undefined
这是最基础的知识之一,记得我在面试的时候,面试官问我数据类型都有哪些,我没有说出“数组”,接下里的一系列问题就围绕着 “数组” 开始了…所以希望大家能熟悉每一个数据类型,光记住他们是什么是不够的,请看我的分析。

JavaScript 拥有动态类型
JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:

实例

var x                // x 为 undefined
var x = 6;           // x 为数字
var x = "Bill";      // x 为字符串

1、JavaScript 字符串
字符串是存储字符(比如 “Bill Gates”)的变量。
字符串可以是引号中的任意文本。您可以使用单引号或双引号:

var carname="Bill Gates";
var answer="He is called 'Bill'";

2、JavaScript 数字
JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:

var x1=34.00;      //使用小数点来写
var x2=34;         //不使用小数点来写

极大或极小的数字可以通过科学(指数)计数法来书写:

var y=123e5;      // 12300000
var z=123e-5;     // 0.00123

3、JavaScript 布尔逻辑)只能有两

个值:true 或 false。

var x=true
var y=false

布尔常用在条件测试中。在介绍完大框架后,我们会深入研究数据类型。

4、JavaScript 数组
下面的代码创建名为 cars 的数组:

var cars=new Array();
cars[0]="Audi";
cars[1]="BMW";
cars[2]="Volvo";

或者 (condensed array):

var cars=new Array("Audi","BMW","Volvo");

或者 (literal array):

var cars=["Audi","BMW","Volvo"];

数组下标是基于零的,所以第一个项目是 [0],第二个是 [1],以此类推。

5、JavaScript 对象
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:

var person={firstname:"Bill", lastname:"Gates", id:5566};

上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。

空格和折行无关紧要。声明可横跨多行:

var person={
firstname : "Bill",
lastname  : "Gates",
id        :  5566
};

对象属性有两种寻址方式:

name=person.lastname;
name=person["lastname"];

6、Undefined 和 Null
Undefined 这个值表示变量不含有值。
可以通过将变量的值设置为 null 来清空变量。

cars=null;
person=null;

声明变量类型
当您声明新变量时,可以使用关键词 “new” 来声明其类型:

var carname=new String;
var x=      new Number;
var y=      new Boolean;
var cars=   new Array;
var person= new Object;

javaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。`
数据类型大体分为六部分,其中的一些重点我会单独写博客说明。

第五点、JavaScript 对象

JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。

在 JavaScript 中,对象是拥有属性和方法的数据。那么什么是属性和方法呢?

属性和方法:
属性是与对象相关的值。

方法是能够在对象上执行的动作。

举个例子我们人,拥有身高,体重,肺活量等属性。
我们可以有唱歌、跑步、游泳等方法。

JavaScript 中的对象
在 JavaScript 中,对象是数据(变量),拥有属性和方法。

当您像这样声明一个 JavaScript 变量时:

var txt = "Hello";

您实际上已经创建了一个 JavaScript 字符串对象。字符串对象拥有内建的属性 length。对于上面的字符串来说,length 的值是 5。字符串对象同时拥有若干个内建的方法。(具体有哪些,容我之后再细说)。

属性: —> txt.length=5

方法: txt.indexOf()、txt.replace()、txt.search()
提示:在面向对象的语言中,属性和方法常被称为对象的成员。

在之后的博客笔记中,您将学到有关字符串对象的更多属性和方法。

如何创建JavaScript 对象

JavaScript 中的几乎所有事务都是对象:字符串、数字、数组、日期、函数等。
你也可以创建自己的对象。
本例创建名为 “person” 的对象,并为其添加了四个属性:

person=new Object(); 
person.firstname="Bill"; 
person.lastname="Gates"; 
person.age=20; 
person.eyecolor="blue";

如何访问对象属性?

访问对象属性的语法是:
objectName.propertyName —-> 【对象名】.【属性名】

上文中使用 person 对象的 eyecolor 属性来查找字符串的长度:

var x = eyecolor.length;
document.write(x);

在以上代码执行后,x 的值是? 答案为4.

如何访问对象的方法?

您可以通过下面的语法调用方法:

objectName.methodName() —> 【对象名】.【方法名】

这个例子使用 String 对象的 toUpperCase() 方法来把文本转换为大写:

var message="Hello world!";
var x=message.toUpperCase();

在以上代码执行后,x 的值是? HELLO WORLD!

第六点、JavaScript 函数

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

<script>
function myFunction()
{
alert("Hello World!");
}
</script>
</head>

<body>
<button onclick="myFunction()">点击这里</button>
</body>

着段代码的效果是:点击按钮,网页会弹出 hello world!字样
提示:JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。

带参数的函数

变量和参数必须以一致的顺序出现。第一个变量就是第一个被传递的参数的给定的值,以此类推。bill gate 对应着 name 等等

<button onclick="myFunction('Bill Gates','CEO')">点击这里</button>

<script>
function myFunction(name,job)
{
alert("Welcome " + name + ", the " + job);
}
</script>

带有返回值的函数

有时,我们会希望函数将值返回调用它的地方。

通过使用 return 语句就可以实现。

在使用 return 语句时,函数会停止执行,并返回指定的值。

语法例如:

function myFunction()
{
var x=5;
return x;
}

上面的函数会返回值 5。

注释:整个 JavaScript 并不会停止执行,仅仅是函数。JavaScript 将继续执行代码,从调用函数的地方。

函数调用将被返回值var myVar=myFunction();
myVar 变量的值是 5,也就是函数 “myFunction()” 所返回的值。

即使不把它保存为变量,您也可以使用返回值:

document.getElementById("demo").innerHTML=myFunction();

"demo" 元素的 innerHTML 将成为 5,也就是函数 "myFunction()" 所返回的值。

您可以使返回值基于传递到函数中的参数:

请看一个实际中的例子:

function myFunction(a,b)
{
return a*b;
}
document.getElementById("demo").innerHTML=myFunction(4,3);

给函数传值3和4,函数返回运算结果,并将值直接插入到 id 名为demo 的内容上。

插入一条信息

innerHTML在JS是双向功能:获取对象的内容 或 向对象插入内容; 如:
<div id="aa">这是内容</div> ,
我们可以通过 document.getElementById('aa').innerHTML 来获取idaa的对象的内嵌内容;
也可以对某对象插入内容,如 document.getElementById('aa').innerHTML='这是被插入的内容';
这样就能向id为aa的对象插入内容。

如果你想要退出函数是,return可以为空 即return;

局部 JavaScript 变量

在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。

您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。

只要函数运行完毕,本地变量就会被删除。

全局 JavaScript 变量

在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。

JavaScript 变量的生存期

JavaScript 变量的生命期从它们被声明的时间开始。

局部变量会在函数运行以后被删除。

全局变量会在页面关闭后被删除。

向未声明的 JavaScript 变量来分配值(多看几眼哦)

如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。

这条语句:

carname="Volvo";

将声明一个全局变量 carname,即使它在函数内执行。

那么今天大概浏览到这里,下个博客会接着学习JS的基础知识,谢谢大家。

相关标签: js js复习