前端学习日记之JS系列(一)JavaScript的基础语法与表达式




前言

重点内容
1.JavaScript的书写位置是哪里?
2.JavaScript有哪些输出语句?
3.如何定义变量?变量的合法命名规则有哪些?
4.前端开发主要有哪些层?语言和功能是什么?

难点内容
1.什么是变量声明的提升?
2.JavaScript中,等号的功能是什么?
3.只var定义一个变量,但是没有赋初值,这个变量的值是?


一、JavaScript简介

JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

1.前端开发的层与语言

通过这张图
通过这张图我们可以看出前端三大基本语言的功能与联系,简单来说,HTML就是一只小鸟的骨架,而有了骨架后我们需要用CSS为其饰以皮毛血肉,光有完整的形体还不够,我们还需要让它可以与外界产生交互,此时,就需要我们的JavaScript出场啦!

2.JavaScript的语言风格与特性

1. 类C语言的风格,简单好学
2. 弱类型,繁文缛节少
3. 丰富效果,易产生兴趣

3.语言体系

在这里插入图片描述

ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,所以它可以理解为是JavaScript的一个标准,但实际上后两者是ECMA-262标准的实现和扩展。

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。它是一种与平台和语言无关的应用程序接口(API),它可以动态地访问程序和脚本,更新其内容、结构和www文档的风格(目前,HTML和XML文档是通过说明部分定义的)。文档可以进一步被处理,处理的结果可以加入到当前的页面。DOM是一种基于树的API文档,它要求在处理过程中整个文档都表示在存储器中。

ECMAScript是JavaScript的核心,但是如果要在web中使用javascript,那么BOM(浏览器对象模型)才是真正的核心。BOM提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关。

二、JavaScript基本语法与变量

1.初识输出语句

JS输出语句有两种形式:
第一种是alert()语句,它可以浏览器界面直接弹出警告框,以此来达到检查输出结果的目的;
第二种则是console.log()语句,它不会直接弹出,我们可以通过右键检查console控制台来得到我们想要的结果。
需要注意的是alert()是内置函数,console是JS的内置对象,通过加点来调用log()“方法”,所谓“方法”便是对象能够调用的函数,我们在后面会学到这方面的内容,操作起来并不难,在此不再赘述。

2.JS变量

(1) 什么是变量
变量是在内存中存储值的符号,并非数值本身,它们仅仅是一个用于存储数值的容器。
(2) 定义变量
要想使用变量,第一步就是声明它,并给它赋值,作为弱类型语言,JS无需像C语言一样在使用前严格定义变量类型,而是采用var关键字即可,它可以定义数字,字符串,数组…,写起来极为方便。
(3) 变量命名
需要注意的是变量名中不允许包含空格或标点符号(美元符号除外)。常用写法是驼峰格式命名,具体如下:

var myMood = "happy", age=33;
var myMood, age;
myMood = "happy";
age = 33;

上述两种命名方式效果相同,但第一种明显简洁方便。

三、JS数据类型

1.检测数据类型

使用typeof运算符来检测,具体如下:

typeof 5; //number
typeof 'csdn'; //string

五种数据类型检测结果:
在这里插入图片描述

2.五大基本数据类型

(1) Number
数字类型,所有数字不分大小、不分整浮、不分正负,都是数字类型。
NaN是英语“not a number”的意思,即“不是一个数”,但它是一个数字类型的值。

typeof NaN; //number
// 0除以0的结果是NaN,事实上,在数学运算中,若结果不能得到数字,其结果往往都是NaN
// NaN有一个“奇怪”的性质:不自等。

(2) String
字符串就是“人类的自然语言”,字符串要用引号包裹,双引号或者单引号均可
加号可以用来拼接多个字符串,要将一个变量的值“插入”到字符串中,要“斩断链接”。
字符串的length 属性表示字符串的长度。
具体如下:

'imo'+'oc'; // 'immoc'
var year = 2022;       
var str = '北京冬季奥运会在' + year +'年召开';
'我喜欢JS,我也喜欢css'.length // 13

常用方法:
在这里插入图片描述
具体操作详见-----。

(3) Boolean
布尔型值只有两个:true 和 false,分别表示真和假。

(4) undefined
一个没有被赋值的变量的默认值是undefined,而undefined 的类型也是undefined
即:undefined又是值,又是一种类型,这种类型只有它自己 一个值

(5) null
null表示“空”,它是“空对象”
当我们需要将对象销毁、数组销毁或者删除事件监听时,通常将它们设置为

box.onclick = null;

使用typeof 检测 null 值结果是object ,这点尤其要注意。

3.复杂数据类型

Object、Array、Function 、RegExp、Date Map、Set、Symbol等等

4.数据类型转换

具体操作详见-----。

四、JS表达式与运算符

1.算数表达式

在这里插入图片描述
默认情况,乘除法的优先级要高于加法和减法;必要时可以使用括号来改变运算的顺序。加号有“加法”和“连字符”两种作用:如果加号两边的操作数都是数字,则为“加法”,否则为连字符。如果操作数参与数学运算不是数字型,那么JavaScript 会自动将此操作数转换为数字型,隐式转换的本质是内部调用Number()函数。JavaScript中没有提供幂计算、开根号的运算符。需要使用 Math对象的相关方法进行计算。

Math.pow(2,3) // 8   
Math.sqrt(81) // 9  
Math.ceil(2.5) // 3 向上取整
Math.floor(2.5) // 2 向下取整

2.关系运算符

在这里插入图片描述
两个等号==运算符不比较值的类型,它会进行隐式转换后比较值是否相等三个等号运算符,===不仅比较值是否相同,也比较类型是否相同。
isNaN()函数可以用来判断变量值是否为NaN,但也不好用,它的机理是:只要该变量传入 isNaN() Number()的执行结果是NaN,则isNaN()函数都会得到true。
特殊值的相等关系如下:

null == undefined // true   
null === undefined // false
NaN == NaN // false

3.逻辑运算符

在这里插入图片描述
逻辑运算的优先级是:非 → 与 → 或
总体运算顺序:非运算→ 数学运算 → 关系运算 → 逻辑运算


总结

本篇文章是我的第一篇技术博客,主要目的是为了归纳总结知识点,前端小白,如有错误的地方还请批评指正!
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值