一、介绍JavaScript

JavaScript是一种函数优先的轻量级、解释型/及时编译的语言,支持面向对象、命令式和声明式。

前端三层

结构层:HTML

表现层:css

行为层:Js

JavaScript由哪部分组成:

ECMAScript(全称:欧州计算机协会)【语法】

DOM(文本对象模型)

BOM(浏览器对象)

1、js的注释和引入方式

/* */   多行注释

//  单行注释


放置位置:

body标签里面

head标签里面

html里面

html外面

css样代里面:【不可以】

(1)行内引入

 <button οnclick="alert('你好')">点我</button>

直接写在标签内

(2)内部引入

# 建议放在HTML结构最后

<script>
    alert('你好')
</script>

特点:
优点:便于维护。平常我们使用的也是比较多的。
缺点:仅限于当前页面的使用,无法重复使用,代码冗余度较高

(3)外部引入

#引入js文件(src引入,此标签内不能写内容)
    <script src="路径"></script>

2、常用打印和使用方法

//打印
        alert('123')//函数API
        console.log(123)//多用于调试
        confirm('一起去玩吗?')//会有确认提示
//用户输入
prompt(‘提示内容’)

//页面上写内容(识别标签)-写到html文档中
document.write(‘书写内容’)
//格式化字符串【写入到控制台】
console.log(`姓名:${name}`)
// 返回对象的个数(对象、数组、字符串)
对象.length
//检测数据类型
typeof 数据

3、获取元素-DOM

//id获取    
console.log(document.getElementById('box'))

//类名获取 是一个集合
console.log(document.getElementsByClassName('wrap'))

//标签获取
console.log(document.getElementsByTagName('div'))

//querySelectorAll 是一个集合【不管是一个或多个】
  console.log(document.querySelectorAll('.wrap'))   console.log(document.querySelectorAll('#id'))

//querySelector 获取到单个
console.log(document.querySelector('.wrap'))

二、基本数据类型

变量的数据类型根据=后面的值来判断

typeof用于判断数据类型

1、静态类型和动态类型

静态数据类型

number 

数字型,控制台输出为蓝色

string

字符型,可用双引号或单引号,控制台为黑色

Boolean

布尔值,有true和false两个值

undefined

未定义【假值】,控制台浅灰色

null

空值

六大假值有:

false

0

“”-空字符串

null

undefined

NaN

2、类型转换

(1)转换为字符串

//变量.toString()
 var s1 = 332;
 console.log(s1.toString())

//String强制转换
console.log(String(s1))

// +号拼接字符串
 console.log('转为字符' + s1)

(2)转换为数字型

//parseInt(string类型)——取整
 console.log(parseInt('20'))

//parseFloat——浮点数
 console.log(parseFloat('28.18'))

//number强制转换
 var s1 = '32';
 console.log(Number(s1))

// *、/、-
console.log(s1 - 1)

(3)字符串的方法

//1、indexof-检索 
var str = "刚刚执行的代码。真的好难"
 console.log(str.indexOf("执行"))//匹配字符,结果为3,-1是匹配不到

//2、拼接字符串-concat
 var str3 = "A同学:难死了!"
 var str4 = str.concat(str3, "B同学:对对对!")
   console.log(str4)

//3、substring、substr-提取字符串中介于两个指定下标之间的字符
 console.log(str.substring(0, 7))//均为下标位置
 console.log(str.substr(2, 7))//第二个值为个数

//slice() 方法可从已有的数组中返回选定的元素。
 console.log(str.slice(2, 0))
 console.log(str.slice(2, -1))//负数表示倒数第几个开始截取

//大小写转换
  console.log(str5.toUpperCase())
  console.log(str6.toLowerCase())

//match进行匹配,返回所在位置以及那个语句中
        console.log(str5.match('thr'))
//search():检索 空格也算一个字符
        console.log(str5.search('boy'))
//replace替换
        console.log(str3.replace("难", "阿西吧,难"))

三、变量的使用和声明

变量:把需要的内容进行保存起来;

声明多个变量用逗号隔开

#var:声明一个变量。可初始化一个值
 var sex;
 console.log(sex)
 - 只声明不赋值=》undefined
 console.log(tel)
 - 不声明不赋值=》 报错
 q=123
 console.log(q)
 - 不声明直接赋值使用=》 能运行 #let:声明一个块作用域的局部变量,可初始化
#const:声明一个块作用域的只读常量
 用 `var` 或 `let` 语句声明的变量,如果没有赋初始值,则其值为 [`undefined`]

命名规则

声明变量

var 变量;(可以直接声明多个,中间用 逗号 隔开)

命名规则:

1.变量名必须以英文字母、、$开头

2.变量名可以包含英文字母、、$、数字

3.不可以用系统的关键字、保留字作为变量名(关键字属于语言设计中的一部分;保留字是语言设计尚未用到,但将来可能会用到)

4.区分大小写