Js
- js介绍
Js全称叫javascript,但不是java,他是一门前台语言,而java是后台语言。
Js作者是布兰登艾奇。
前台语言:运行在客户端的
后台语言:跟数据库有关的。
- 能干什么?
页面特效,开发页面游戏,后台开发等等。
- js和ECMAscript的关系
ES不是语言,是js的标准,我们学习js得按es的标准学习。
- 前端的三个层次
Html 结构层
Css 表现层
Js 行为层
- Js写在哪里
因为js和php都是脚本语言,js写在script这个标签里,php写在<?php>标签里。
B
- 变量
变量:可以改变的量,往往用英文字母代替变量,并且区分大小写。
变量的定义(声明): var 加 字母 var a 我声明了一个变量叫a
变量的用途:变量其实是一个容器,起到临时存储数据的作用。
通过=进行赋值。 var a=12;
- js语言的输出
alert() 这是js中的一个方法 弹出框
console.log() 浏览器控制台输出,用于代码测试
document.write() 在浏览器中写出
- js的注释
(1) 单行注释 //
(2) 多行注释 /* 内容 */
- 常量 不变的量
汉字 数字 往往当做值使用。除了数字之外 要带引号”” ‘’
红色的报错,说雅宁是一个变量,但是这个变量没有声明。
说明有这个变量,但是没有赋值。
变量起名的规则:不能使用汉字 区分大小写 不能特殊符号开头除了_ $
_a √ -a × a3 √ 3a ×
带引号和不带引号
带引号的 是什么就输出什么 ----叫字符串
变量不是 变量输出的是他后面的值 如果没有赋值就是undefined
带引号的45是字符串,用+ 只是拼接 没带的是数字 +是四则运算
Js的关键字 var function
- js语言的四则运算
+
纯数字之间就是加法 3+6
和字符串之间 + 就是拼接
-
纯数字是减法
和字符串之间 - 还是减
*
纯数字还是乘法
和字符串之间 还是乘
/
纯数字是除 和字符串还是除
减乘除 三者有隐式转换的能力。在计算的过程中 将字符串强制转成了数字。
%
取余数
数字
整数(整型)和小数(浮点型)
parseInt() 将字符串强制转换成整型 parseFloat() 将字符串强制转换成浮点型
代码执行顺序是从上往下。一个模块一个模块的执行。
变量提升:浏览器的功能,
Js代码执行
Js代码执行前,浏览器会给他(js)一个全局环境,叫window(全局作用域)。在window下浏览器找到所有的带var和function的关键字然后给他们分配内存地址。不管你赋值没赋值,浏览器告诉所有的子模块,这个东西存在了。这种能力叫变量提升。
变量的值
我们学了两个了,一个是字符串,数字。不管是字符串还是数字,后面的值统统称为数据。
数据的类型有哪些?
字符串 数字 数组 json 对象 布尔 null undefined 函数
基本和复合类型
运算
1.四则运算 + - * /在一起 先算* / 后算加减
2.逻辑运算 或(||) 且(&&) 非(!) 结果是布尔 true和false
3.比较运算 > >= < <= !(取反) == (双等号)
= 是赋值运算 结果是true和false
=== 全等 数据的类型和值都一样 不全等于 !==
== 也有隐式转换的能力
Js代码执行前,浏览器会给一个全局作用域window
Window分两个模块 一个是存储模块 一个是执行模块
存储模块 找到所有的var和function 关键字 给这些变量添加内存地址
执行模块,代码从上到下执行,遇到变量就会去存储模块查找,有和没有
有就看你赋值没有,赋值了就是后面的值 没有赋值就是undefined。
没有 结果就是xxx is not defined
10.16
- parseInt()
- parseFloat()
遇到第一个字节是非数字就结束了。
- var a=”hello world”
A这个变量是字符串了,对于里面的每一个字母来说,他是字节。里面有11个字节。
字节总数用length表示。
4
符号运算
+ 字符串拼接
. 表示 ”的“
对于点运算 点前面的叫对象 点后面的叫属性和方法。
属性和方法的区别?
- a.length length 是属性
- a.way() way() 是方法
5
条件语句
如果 否则 if else
If(条件){
执行模块一
}else{
执行模块二
}
多个条件
从大到小
三元(目)运算
条件?语句1:语句2
6.自加和自减
= 赋值运算 他的顺序是从右往左 从后往前
i++ 返回的是自增之前的值 先利用再加
++i 返回的是自增之后的值 先加再利用
i--
--i
10.17
- 变量提升
变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域叫window
,window分两个模块,一个叫内存模块,一个叫运行模块,内存模块找到当前作用域下的所有带var和function的关键字,执行模块执行js代码,从上到下执行,遇到变量就会通过内存地址去查找这个变量,有和没有这个变量。有这个变量就会看赋值没赋值,如果赋值就是后面的值,如果没有赋值就是undefined,如果没有找到就说这个变量 is not defined。
- 条件语句
If(条件){
语句
}else{
语句
}
{} 在js我们把他叫代码块。如果代码块里的内容没有执行完,语句不会向下执行。
代码块是一个独立的整体。如果js中某一条语句出错,那么就会在此终止不会向下执行。
- 循环语句
循环,就是对一个整体进行逐个查找。
循环
- 从什么开始
- 查找的步长
- 结尾数字
计算机对数据的计算不是从1开始,从0开始,也就说0代表第一个数据
我们把用数字去代替字节的方法,将数字叫做这个字节的下标(索引)
循环语句的格式
循环用for
for(){}
我们最后发现i是5,但是i应该是for循环的代码块中的变量。但是for循环之外也可以使用,我们把这种现象叫做内存泄露。需要清内存。
1
12
123
1234
Js处理数据的目的就是将数据渲染到页面中,而渲染的数据的本质是字符串。
其他数据的底层都是字符串。
学习到最后,都是在处理数据,渲染数据的最本质方法就是字符串拼接。
后期的数据渲染的方式都是由字符串衍变而成。
4.加号的使用
+ 字符串拼接
变量和字符串之间都需要使用+进行连接。
算法
案例1 求1-10的和
弹出框的三种形式
- alert() 警告框
- 输入框 prompt()
- 确认框 confirm()
案例2 找出1-100之间即能被5又能被6整除的数字
我们把这种一个一个列举出来的方法叫穷举法。
案例3 求1-20的质数
质数 只能被1和他本身整除的数字 最小质数是2
案例4 如何取到375中的百位 十位 个位?
If条件的种类
If(条件){}
If 里面的条件只是一个字母
- m=true
- M和null的关系
Boolean中的true和false 我们可以用数字中的0和非0代替。
上面if(m) 如果m是true
如果m是非空
If里面的条件
有 关系运算 > >= < <= == === !=
If(m=5){}
= 在js中是赋值的意思,并且这种运算从右往左执行。
将数字5赋值给变量m。
逻辑运算
|| && !