JavaScript 基础

js书写位置

js一般是和HTML、css文件结合,写动态网页的。

HTML文件内

js可以直接写在HTML文件内,一般写在HTML文件内的时候我们会写在</body>的上面,紧挨着它。

html 复制代码
<html>
<head>
</head>

<body>


//<script></script>这两个加上代码块就是内置的js代码了
<script>
代码块
</script>

</body>

</html>
单独的js文件导入HTML文件

我们也可以写一个单独的js文件,并在HTML文件内引用这个文件

html 复制代码
<html>
<head>

</head>

<body>


//常用的三种路径都可以,推荐相对路径
<script src ="js文件路径"></script>
</body>

</html>
HTML标签内置

在单独的HTML标签内应用js,内联。这个前期用的不多,而且我也不是很会,就先略过。^_^

js 常用的三种输出

提示栏提示

弹出提示栏

语法:alert(" "),可以输出变量,或者想说的话。变量不加引号,想说的话加引号。可以使用+连接

html 复制代码
 let name = "John Doe"
    alert('Hello World!'+name);//提示框输出
输出到浏览器

输出到浏览器,如果是HTML语法会被解析之后再显示

语法: document.write()可以输出变量或者一句话,并且可以拼接

html 复制代码
 let name = "<table align =center border='10'><tr><td>你好</td></tr></table>"
    document.write(name)//打印到当前页面,如果有HTML元素会解析HTML元素

这样浏览器就会生成一个表格

输出到控制台

console.log()打印到控制台。这个不是个用户看的,我们想查看需要右击浏览器界面,选择检查
然后会显示一个

找到控制台就可以查看我们想输出的了。有的浏览器可能是英文,我们只需要找到console就可以了

js 定义变量

js中的变量在定义的时候没有类型这一说,而是存储什么数据就是什么类型。

var

var name 定义一个名字为name的变量。

var可以重复声明同一个变量,会覆盖前面声明的

let

let name 定义一个名字为name的变量。

不可以重复声明

const

const name 定义一个名字为name的变量,这个变量的值是我们一开始就要给出的,并且不可修改

let和var和const的不同之处

首先,这三个关键字声明变量都会(变量提升)也就是说js代码先执行变量声明语句,var在声明语句之前就可以使用,但是没有值(undefined),但是let和const在声明语句之前无法使用,否则会报错。

js数据类型

js的输入语句

我们在定义好变量之后可以使用以下几种方法进行赋值

假设变量name

提示栏输入

name = prompt("what is your name?")这里的话会被输出到提示栏上

大概是这样,我们输入之后会赋值给name变量。通过这个方法获取的都是string类型的变量。

其他输入

其他输入暂时先不讲,因为还没有学到。

js数组

array,数组

定义:let array = [数据1,数据2,数据3......]字符串要加引号,变量直接放上去。

支持下标,0基。array[0]这样。并且一个数组可以存放多个不同数据类型的数值

数组a赋值给数组b,则修改b的值会映射到a

let arr = [1,2,3,4,5,6]

let arrt = arr

arrt[1]=100

document.write(arr[1])//最后输出100

求数组长度,arr.length

数组的增删改查,假设有数组arr =[1,2,3,4]

增:

1--- arr.push(元素1,......,元素n)向数组末尾添加一个或多个元素

2--- arr.unshift(元素1,......,元素n)向数组开头添加一个或者多个元素

删:

1--- arr.pop() 删除数组末尾元素

2--- arr.shift()删除数组第一个元素

改:

arr[对应下标] = 新的值

查:

arr.indexof(元素) 返回元素所在下标,如果有多个相同元素则只会查找第一个

arr.includes(元素) 查找是否存在元素,如果有则返回true没有返回false

合并两个数组:假设有arr =[1,2,3,4]和arr2 = [5,6,7,8,9]

arr.concat(arr2) 这个操作会返回一个新的数组,如果不想改变arr和arr2就可以用一个新的变量来接收这个数组,最后的结果就是[1,2,3,4,5,6,7,8,9]

js字符串

js的字符串表示是 " " ' ' ` `这三个引号引起来的,分别是双引号,单引号,反引号(反引号位置在Esc的下面)

如果我想输出一句话:你好,我是"计算机"。就要遵循一个原则:外单内双,外双内单

document.Write("你好,我是'计算机' ")

document.Write('你好,我是"计算机" ')

如果外围使用的是双引号,里面的引号就需要与外围不一样。或者使用转义字符:\" \'也可以

字符串拼接,可以字符串拼字符串,字符串拼数字,字符串拼变量,变量拼变量。但是要注意+左右必须有一方是字符串类型。

模板字符串,字符串的拼接有时候并不能满足我们。+写起来有点没逼格。我们就可以使用反引号

`你好,我今年{age}岁,性别为{gender}`。这里面的age和gender都是变量。我们使用${}来告诉电脑它是一个变量。相较于+拼接这个可能会好一点

js bool,undefined,null,类型判断

bool布尔值,这个值只有true和false,表示对和错。一般用于循环条件,判断条件之类的。

5>8 = false,我牛13 = true

undefined未赋值,仅定义但是没有赋值。

null空,赋值了,但是赋值的是"空"

typeof(x)或者typeof x都可以判断数据类型,会将类型作为返回值返回。

js数据类型转换

隐式转换

+如果加号两边有一个是string类型,那么就把另一个也转换成string类型。然后进行拼接。如果两边都是数字,就进行算数运算。-*/都是number类型的操作

显式转换

1.number(x),把x转换为数字类型,true转成1,false转成0.如果是string类型就需要判断字符串是否是纯数字,如果是就转换,如果不是就为NaN

2.string(x),转换为字符串类型,"x"转换结果

3.bool(x),转换为布尔类型,数字类型非零为true,0为false。string类型非空字符串为true,空字符串为false

相关推荐
Rattenking4 分钟前
【CSS】 ---- CSS 实现图片背景清除的滑动效果三种方法
前端·javascript·css
froginwe1127 分钟前
XML SimpleXML
开发语言
lzhdim32 分钟前
XML工具类 - C#小函数类推荐
xml·开发语言·windows·c#
GISer_Jing1 小时前
Javascript数据结构——图Graph
开发语言·javascript·数据结构
rock——you1 小时前
quasar v2 setup语法中报错: undefined is not an object (evaluating ‘this.$q.notify‘)
前端·javascript·vue.js·quasar
꧁坚持很酷꧂1 小时前
Qt天气预报系统设计界面布局第四部分左边
开发语言·qt
很楠不爱1 小时前
Qt——系统相关
开发语言·qt
张敬之、1 小时前
Ribbon源码分析
java·开发语言
十月雨眠1 小时前
使用three.js 实现vr全景图展示,复制即可用
开发语言·javascript
天桥下的卖艺者2 小时前
R语言6种将字符转成数字的方法,写在新年来临之际
开发语言·r语言