目录
前端三大语言
- html:超文本标记语言-->专门编写网页内容的语言
- css:层叠样式表-->专门美化(修饰)网页内容的语言
- javascript:专门设计网页交互效果的语言
交互:用户输入数据-->程序接收数据并处理数据-->返回处理结果
JavaScript是专门设计网页交互的语言,是一种解释性的语言,由浏览器进行解析执行,属于弱语言。
HTML中的注释: <!-- 注释 -->
css中的注释:多行注释: /*注释*/
js中的注释:单行注释 // 多行注释 /*注释*/
如何书写js
- 不需要html文件,直接在浏览器中的控制台中进行书写
about:blank //打开一个空白页
按住电脑上的键盘 f12 打开程序员控制台,调到 console 控制台操作页,书写代码即可
快捷键:换行【shift+enter】 输出【enter】
console.log("Hello World!");
主要用途:测试一小段代码
css的书写方式: 1)行内样式(内联样式)2)内部 3)外部
- 在script标签内部进行书写js代码即可
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style></style>
<script> //js代码书写位置1
</script>
</head>
<body>
<script> //js代码书写位置2
var a=5; //var 表示声明一个变量a保存了一个数据5
var b=8;
console.log(a+b); //控制台输出指令
</script>
</body>
</html>
<script> //js代码书写位置3
</script>
快捷键 ctrl+b 打开浏览器执行代码
- 外部js文件中编写
1)创建一个xxx.js文件
2)在html文件中的 script 标签中通过 src 属性引入
<script src="test.js"> //一般通过相对路径
</script>
同一文件夹下的test.js文件
var str="hello"; //声明一个变量str 保存一个字符串数据
alert(str); //弹出一个警告框:alert(警告框输出内容)
<button onclick="alert('x')"></button>;
js如何运行
浏览器的引擎包括2种
- 内容排版引擎:解析 html 和 css
- 脚本解释引擎:解释并执行 js 脚本语言【不需要预编译,直接解释执行】
解释执行:默认情况自上而下逐行运行
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>代码的运行顺序</title>
<script>
// 页面加载完成后执行的操作
window.onload=function(){
// 需求:页面加载完毕后,修改id为box的div元素中的内容为"hello"
// 1. 先通过div的id属性值box定位到需要修改的div元素
var div=document.getElementById("box");
// 通过dom操作找到id为box的div元素对象保存在一个div变量中
console.log(div);
// 2. 将div元素对象中的文本内容属性(innerText)设置为"hello"
div.innerText="hello";
}
</script>
</head>
<body>
<div id="box">wait</div>
<div>你好</div>
</body>
</html>
控制台报错类型
- TypeError:Cannot set properties of null
不能设置属性给null
方法一
window.unload 事件页面所有内容都加载完成后
方法二
- Cannot read properties of undefined
不能读取undefined的属性
解决方法:
-
ReferenceError a is not defined
- SyntaxError
Illegal break statement
js数据类型
一、原始数据类型
- string - 字符串
- number - 数字
- boolean - 布尔类型(true/false)
- undefined - 空(修饰原始数据类型的空) 所有仅声明但是未赋值的变量的默认值
- null - 空(修饰对象的空)
- symbol - ES6引入的新的原始数据类型,表示独一无二的值
二、引用数据类型
array function Date Math...
JS数据类型转换
- 隐式转换
不需要程序员干预,js可以自动的完成类型转换前提是仅讨论算数计算中的隐式转换
-
强制转换
隐式转换的结果不是我们想要的结果,那么需要调用一些API,来执行强制转换
API: 应用程序接口 - 通俗上讲就是浏览器底层封装好的方法名
任意数据 -> 字符串数据:2个API
- x.toString() :x不能是undefined或null的时候才能使用
- String(x):万能的方法 -> x+"" = "x"
- parseInt(str) : 从第一个字符开始,依次读取每个数字
- parseFloat(str): 转换的规则同parseInt,只不过认识第一个小数点