1、认识js:
js概念:
执行在浏览器端(客户端)的解释性(一行一行执行)脚本语言
js的作用:
html:结构(骨架)
css :表现(美化)
js : 行为 (动效:轮播图,tab切换,楼层,拖拽,百度搜索框,表单验证,登陆注册,贪吃蛇)
js的核心:
(ECMA:规范js语法;w3c:规范html 和css)
1、ECMAScript:指定的是js的语法规范;
2、BOM(browser object model):浏览器对象模型,提供了一套操作浏览器的api(打开open 和关闭close浏览器窗口,前进后退go(-1),)
3、DOM(docuemnt object model):文档对象模型,提供了一套操作页面(页面的标签)的api
bom和dom是通过js的方式来操作页面和浏览器
2、js的基础语法
1、js代码书写
1.1行内式
a标签的 a href=“javascript:js代码;”
非a标签的 <button 行为属性=“js代码”>按钮
1.2、内嵌式
书写方式:script
书写位置:可以在任何位置书写script,但是不推荐写在最上面,推荐写在最下面
执行顺序:可以有多对script标签,从上往下执行
1.3、外链
书写方式:script src=""
注意:1. 在外链式的写法中,script标签内部代码不执行
2. demo.js 中直接写js代码
<!DOCTYPE html>
<html>
<head>
<title>做真实的自己</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
<style>
div{
width: 100px;
height: 100px;
background-color: pink;
}
</style>
</head>
<body>
<!-- 行内式:a标签的形式 -->
<a href="javascript:alert(1);">hah</a>
<!-- js的方式防止跳转 -->
<a href="javascript:;">hah</a>
<a href="#">hah</a>
<!--行内式:非a标签的形式 -->
<!-- <button 行为属性='js代码'>按钮</button> -->
<!-- onclick,点击 -->
<button onclick='alert(1)'>按钮</button>
<!--onmouseover鼠标移入 onmouseout鼠标移出 -->
<div onmouseover="alert(8)" onmouseout="alert(9)"></div>
<!--
1、行内式
a标签的 <a href="javascript:js代码;">百度</a>
非a标签的 <button 行为属性="js代码">按钮</button>
2、内嵌式
书写方式:<script></script>
书写位置:可以在任何位置书写<script></script>,但是不推荐写在最上面,推荐写在最下面
执行顺序:可以有多对script标签,从上往下执行
3、外链
书写方式:<script src="demo.js"> </script>
注意:1. 在外链式的写法中,script标签内部代码不执行
2. demo.js 中直接写js代码
-->
</body>
</html>
<script src="js/demo.js"></script>
2、js注释
分为多行注释与单行注释
作用:对代码的解释说明
单行注释:ctrl+/
多行注释:alt+shift+a
3、js变量
如何定义变量:
3.1常用方式
var x = 2;//声明一个变量x,同时将2赋值给x;
var:声明变量
x : 变量名 (类似类名)
= : 赋值 (将右边的值赋给左边)
3.2 其他方式
var x ; //先声明一个变量
x = 20 ;//使用的时候在进行赋值
同时声明多个变量,用的时候再进行赋值
var a,b,c; //先声明多个变量
a = 20 ;
b = 20;
c = 20;//使用的时候在进行赋值
同时声明多个变量,有的赋值,有的用的时候在赋值
var a = 20 ,b = 20, c;
c = 20;
3.3 js 的输出语法
弹出内容(警告框): +alert(内容);
写入浏览器控制台(在控制台打印内容) : +console.log(内容)
页面(html)输出: +document.write(内容)
3.4js的命名规则和规范
规则:(规则必须遵守,不遵守会报错)
1、组成部分:数字,字母,下划线,美元符号($)
2、不能以数字开头
3、不能是js中的关键字和保留字(保留字可能会发展成关键字),(例如var if )
4、严格区分大小写
规范:(需要大家共同遵守的约定)
1、驼峰命名法(第一个单词小写,从第二个单词开始首字母大写)
2、见名识意
3、不推荐中文(支持中文但不推荐中文)
3.5 js的数据类型以及类型转换
1、数据类型:
两大类:
基本数据类型:
Number类型 数值类型
String类型 字符串类型
Boolean类型 布尔类型
null类型 空类型
undefined类型 未定义类型
引用数据类型:(了解)
Object
2、基础数据类型
a、数值类型(number)
类型(包括二进制,十进制,十六进制等)
a)整数
b) 小数
c) 10e5(科学计数法) 10*10的5次方
d) 十进制 八进制 十六进制 二进制
e) NaN (not a number),代表非数字值的特殊值。该属性用于指示某个值不是数字
b、 字符串类型(string)
内容(用单引号或者双引号引起来)
一段文本
c、布尔类型(boolean 布尔值)
(true 或者 false )
true : 真,计算机会把true存储成1
false: 假,计算机会把false存储成0
d、null类型(null 空值)
只有一个,就是 null ,表示空的意思
声明值为null
e、undefined类型(undefined未定义的值)
undefined ,表示没有值的意思
只声明,未进行赋值
3、检测数据类型 typeofe
语法: typeof(要检测的值)
typeof 要检测的值;
两者的区别:有运算时的使用加括号语法进行检测
例如:typeof (“3”+2):检测"3"+2的拼接结果的类型
typeof “3”+2:检测"3"类型+2的拼接结果的
返回值(结果):
哪种数据类型(number,string,undefined,object,boolean)
null返回object,
4、数据类型的转换
:数据类型之间的转换,比如数字转成字符串,字符串转成布尔,布尔转成数字
4.1其他数据类型转成数值:
4.1.1 Number(需要转换的内容)
将需要转换的内容当成一个整体来进行转换
如果整体为数字则转换成功,变成数值
如果整体不是纯数字(小数也会返回NaN)则不可转换的,会返回 NaN
4.1.2 parseInt(需要转换的内容)
从第一位开始检查,是数字就转换,知道一个不是数字的内容
开头就不是数字,那么直接返回 NaN
不认识小数点,只能转换整数部分,小数点会省略
4.1.3 parseFloat(需要转换的内容)
从第一位开始检查,是数字就转换,直到一个不是数字的内容
开头就不是数字,那么直接返回 NaN
认识一次小数点
4.2其他数据类型转成字符串
1、变量.toString()
2、 String(变量)
3、使用加法运算
4、其他数据类型转成字符串Boolean(变量):
在 js 中,只有 ‘’ 、 0 、 null 、 undefined 、 NaN ,这些是 false,其余都是 true