第五次网页前端培训(JavaScript)

1.视频链接

【优极限】 HTML+CSS+JavaScript+jQuery前端必学教程,小白教学,前端基础全套完成版_哔哩哔哩_bilibili

2. 教程链接

JavaScript 教程 | 菜鸟教程 (runoob.com)

3. 主要内容 

4. JavaScript

4.1 简介

        JavaScript 是一种具有面向对象能力的、解释型的程序设计语言。更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言。它的主要目的是,验证发往服务器端的数据、增加web互动、加强用户体验度等。

4.1.1 JavaScript的组成

        ECMAScript定义的只是这门语言的基础,与Web浏览器没有依赖关系,而在基础语法上可以构建更完善的脚本语言。JavaScript 的运行需要一定的环境,脱离了环境JavaScript代码是不能运行的,JavaScript只能够寄生在某个具体的环境中才能够工作。JavaScript运行环境一般都由宿主环境和执行期环境共同构成,其中宿主环境是由外壳程序生成的,如Web浏览器就是一个外壳程序,它提供了一个可控制浏览器窗口的宿主环境。执行期环境则由嵌入到外壳程序中的JavaScript引擎(或称为JavaScript解释器)生成,在这个环境中JavaScript能够生成内置静态对象,初始化执行环境等。
        Web浏览器自定义的DOM组件,以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象.这些对象的行为和属性以及这些对象之间的关系。DOM对象,是我们用传统的方法(Javascript)获得的对象。DOM属于浏览器,而不是JavaScript语言规范里的规定的核心内容。

        前面的DOM是为了操作浏览器中的文档,而为了控制浏览器的行为和操作,浏览器还提供了BOM(浏览器对象模型)。

ECMAScript(基础语法)
        JavaScript的核心语法ECMAScript——描述了该语言的语法和基本对象DOM(文档对象模型)
        文档对象模型(DOM)—―描述了处理网页内容的方法和接口
BOM(浏览器对象模型)
        浏览器对象模型(BOM)—―描述了与浏览器进行交互的方法和接口

4.1.2 开发工具

        浏览器:chrome

        开发工具:Hbuilder
        进入浏览器控制台Console: F12控制台的作用:
        console对象代表浏览器的JavaScript控制台,用来运行JavaScript命令,常常用来显示网页运行时候的错误信息。Elements用来调试网页的html和css代码。

4.2 基本用法

        JS需要和HTML一起使用才有效果,我们可以通过直接或间接的方式将JS代码嵌入在HTML页面中。
        行内JS:写在标签内部的js代码
        内部JS:定义在script标签内部的js代码
        外部JS:单独的js文件,在HTML中通过script标签引入
        我们可以将JavaScript代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分。由于页面的加载方式是从上往下依次加载的,而这个对我们放置的js代码运行是有影响的。
        放在<head>部分,最常用的方式是在页面中head部分放置<script>元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分。
        放在<body>部分,JavaScript 代码在网页读取到该语句的时候就会执行。

 行内JS

<button onclick="alert( 'you clicked hered!! ! ' )">click here</button>

内部JS

<script type="text/javascript" charset="utf-8"">
    alert( 'this is inner js code ' )
< /script>

外部JS

hello.js

alert( " this is a outter js document " );

hello.html

<!--在需要使用js的html页面中引入-->
<script src=" js/hello.js" type="text/javascript" charset="utf-8"></script>

如果script标签设首了src属性,则在script双标签之间的JS代码不会生效

 5. 基础语法

5.1 语句和注释

        JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。
        语句(statement)是为了完成某种任务而进行的操作,语句以分号结尾,一个分号即表示一个语句结束。多个语句可以写在一行内(不建议这么写代码),但是一行写多条语句时,语句必须以分号结尾。
        表达式不需要分号结尾。一旦在表达式后面添加分号,则JavaScript 引擎就将表达式视为语句,这样会产生一些没有任何意义的语句。

 5.2 标识符和关键字

        标识符就是一个名字,用来给变量和函数进行命名,有特定规则和规范

        规则:由Unicode字母、-、$、数字组成、中文组成

        (1)不能以数字开头
        (2)不能是关键字和保留

        (3)严格区分大小写

        规范:(1)见名知意
                   (2)驼峰命名或下划线规则

        关键字也称保留字,是被JavaScript征用来有特殊含义的单词

 5.3 变量

        变量即一个带名字的用来存储数据的内存空间,数据可以存储到变量中,也可以从变量中取出数据。

5.3.1 变量的声明

        JavaScript是一种弱类型语言,在声明变量时不需要指明数据类型,直接用var修饰符进行声明。

        变量声明和赋值:

/先声明再赋值var a ;
a = 10 ;
//声明同时赋值var b = 20;

5.3.2 变量的注意点

(1)若只声明而没有赋值,则该变量的值为undefined。

(2)变量要有定义才能使用,若变量未声明就使用,JavaScript 会报错,告诉你变量未定义。

(3)可以在同一条var命令中声明多个变量。

(4)若使用var重新声明一个已经存在的变量,是无效的。

(5)若使用var重新声明一个已经存在的变量且赋值,则会覆盖掉前面的值 

(6) JavaScript是一种动态类型、弱类型语言,也就是说,变量的类型没有限制,可以赋予各种类型的值。

5.4 数据类型

        虽说Js是弱类型语言,变量没有类型,但数据本身是有类型的。针对不同的类型,我们可以进行不同的操作。
        JavaScript 中有6种数据类型,其中有五种简单的数据类型: Undefined、Null、布尔、数值和字符串。一种复杂数据类型object。

5.4.1 undefined

        undefined类型的值是undefined。
        undefined是一个表示"无"的原始值,表示值不存在。

        出现undefined的常见情况:

        (1)当声明了一个变量而没有初始化时,这个变量的值就是undefined

var box ;
console. log ( box); // undefined

        (2)调用函数时,该函数有形参,但未提供实参,则该参数为undefined。

        

function noData(str) { //js函数形参只需要变量名即可
console. log(str); // undefined
noData(); //调用方法时,未传递参数

        (3)函数没有返回值时,默认返回undefined。

//方法没有返回值
function noData( ) {
console . log( ""Hello" );
}
var re = noData( );//定义变量接收无返回值的方法

5.4.2 null

        null类型是只有一个值的数据类型,即特殊的值null。它表示空值,即该处的值现在为空,它表示一个空对象引用。
        使用Null类型值时注意以下几点:
        1)使用typeof操作符测试null返回object字符串。

        2)undefined派生自null,所以等值比较返回值是true。未初始化的变量和赋值为null 的变量相等。

console.log(undefined == null);
var box = null; //赋值为null的变量
var a; //未初始化的变量
console.log(a==box);//两个的值相等

 5.4.3 布尔类型

        布尔类型有两个值: true、false。常用来做判断和循环的条件

5.4.4 数值型       

        数值型包含两种数值:整型和浮点型。 

        1)所有数字(整型和浮点型)都是以64位浮点数形式储存。所以,JS中1与1.0相等,而且1加上1.0得到的还是一个整数。浮点数最高精度是17位小数,由于浮点数运算时可能不精确,尽量不要使用浮点数做判断。
        2)在存储数值型数据时自动将可以转换为整型的浮点数值转为整型。

console. log(1 == 1.0); // true
console. log(1 + 1.0); // 2
var num = 8.8; //自动将可以转换为整型的浮点数转为整型
console.log(num) ; // 8

5.4.5 字符串 

        使用' '或" "引起来,如: 'hello',"good"。
        使用加号+进行字符串的拼接,如: console.log("hello' + ' everybody');

5.4.6 对象

        对象是一组数据和功能的集合。
        说明:
        { } :表示使用对象字面量方式定义的对象。空的大括号表示定义包含默认属性和方法的对象。

5.5 类型转换

5.5.1 自动类型转换

3.5.2.函数转换(String to Number)
         

        JS提供了parselnt()和parseFloat()两个全局转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对string类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。
parselnt()
在转换之前,首先会分析该字符串,判断位置为0处的字符,判断它是否是个有效数字,如果不是,则直接返回NaN,不再继续,如果是则继续,直到找到非字符。

parseInt(""1234blue"); //returns 1234
parseInt("22.5""); // returns 22
parseInt("blue") ; // returns NaN

3.5.3 显示转换

        几乎每个数对象都提供了tostring()函数将内容转换为字符串形式,其中Number提供的 tostring()函数可以将数字转换为字符串。
        Number还提供了toFixed()函数将根据小数点后指定位数将数字转为字符串,四舍五入,相当于保留几位小数

        

         JS为Number、Boolean、String对象提供了构造方法,用于强制转换其他类型的数据。此时操作的是整个数据,而不是部分。

         最后一种强制类型转换方法string()是最简单的,因为它可把任何值转换成字符串。要执行这种强制类型转换,只需要调用作为参数传递进来的值的 toString()方法,即把1转换成"1",把true转换成"true ",把false转换成"false ",依此类推。强制转换成字符串和调用toString()方法的唯一不同之处在于,对null或undefined值强制类型转换可以生成字符串而不引发错误:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值