javasciptday1
1.前段三大语言
HTML:专门编写网页内容的语言
CSS:专门美化网页内容样式的语言
HTML和CSS运行于内容排版器/引擎
交互:用户操作 程序处理或响应操作 返回结果
JavaScript:专门编写交互程序的语言
运行于js解释器/引擎中
解释执行--逐行读取,先读到先执行,后读到后执行
js发展史:
Netscape:navigator
1995 JavaScript--像极了Java,但比Java简单
Java “write once run anywhere”
1996 JavaScript 1.1--〉ECMA
*ECMAScript标准--〉定义了js语言的核心语言
Netscape--〉遵照标准,实现了JavaScript语言
Microsoft(微软)--〉遵照标准,实现了JScript语言
W3C:DOM标准--〉专门操作网页内容的标准
所有浏览器都兼容的标准
BOM;专门操作浏览器窗口的编程接口
*js=ECMAScript标准+DOM标准+BOM
2.如何使用js:
如何编写,如何运行
如何运行:2种:1.浏览器内置js引擎
2.独立安装js引擎:nodejs
如何编写:4种方式:
1.直接在浏览器(打about:blank回车)控制台(F12)中,编写js脚本:
Console:控制台:专门编写和调试js程序的窗口
比如:console.log("hello world");
console: 特指控制台窗口
.: 的
log:console中提供的一个功能
功能接受一个字符串参数,在控制台输出该字符串
字符串:一串字符的集合
字符串必须用引号包裹,但单双引号都行
*程序中的关键字区分大小写!*
字符串的字符不要求大小写
2个按键:
多行程序:shift+Enter
上下方向键:切换已执行过的代码--避免重复编写
2.在网页中编写js脚本程序:3处
1.<script>元素中
直接编写在<script>中的js程序,随网页加载过程解释执行
document.write("");
document:当前网页
write:写入功能,直接写入body元素中。不带换行
write中的字符串必须符合html语法
强调:write中换行: <br>
2.单独js文件保存js脚本程序:2步:
1.创建.js文件,保存js脚本程序
2.<script src="url"></script>引入外部js文件
脚本程序:不需要预编译,边解释边执行的程序
3.元素的事件处理程序中编写一一了解
不随网页加载过程执行,只有触发时间时,才执行。
window.alert("");
window:指代当前窗口
alert:当前窗口的警告框
console.log("");
document.write("");
window.alert("");
如何调试
bug:程序中出现的一切错误
debug:发现错误,解决错误
js程序出错:希望的交互效果没出来--〉F12--〉console
console:错误信息:3部分:
错误的类型:错误的原因:出错位置的链接
出错现象:出错位置同<script>下的程序:
出错前的程序正常执行
出错位置及其之后的程序不执行
其他<script>中的程序,不受影响
正课
1.***变量
2.***常量
3.***数据类型
1.***变量:
What:内存中存储1个数据的存储空间,再起个名字
When:程序中的数据都要先用变量保存,再处理
如何使用变量:声明 赋值 取值
声明:在内存中创建一个新变量;
如何声明:var 变量名;
强调:仅声明未赋值,都为undefined;
命名规则:
1.不能以数字开头
2.不能用保留字
3.*见名知义*
4.驼峰命名:首字母小写,之后每个单词首字母大写
比如:backgroundColor
listStyleType
stdentName
赋值:将一个数据存入变量中
如何赋值:变量名=值
=:专门表示将右边的值,存入左边的变量中保存
*对已有值得变量赋新值,新值会把已有值取代
***强烈建议:
声明同时初始化:第一次给变量赋值;
如何声明同时初始化:var 变量名=值;
取值:从变量中取出数据,进行运算
如何取值: 在程序任何位置,只要使用变量名等效于直接使用变量中存储的数据
特殊情况:2种:
1.为一个从未声明过的变量赋值:不会出错!
会自动创建同名变量,在保存数据
2.尝试从一个未声明过的变量中取值:会出错!
referenceError:未找到或未定义
***声明提前:在程序正式执行前,都会将所有var声明的变量提前到开始位置,集中创建,***赋值留在原地***
/*只要碰到声明提前的问题,都要先提前,再判断*/
console.log(a);//undefined
var a=100;
console.log(a);//100
var a=200;
console.log(a);//200
console.log(b);//报错
var b=10;
console.log(b);
输出:console.log(变量名)
2.常量:一旦声明并初始化后,值不可改变的量!
when:只要保存一旦创建,不可擅自改变的量时
比如:pi 重力加速度g
how:const 常量名=值;
常量名要全大写
3.数据类型:
what:内存中存储不同数据的存储格式
js中数据类型:2大类
1.原始类型:值保存在变量本地的数据类型
5种:Number 专门保存数字的类型
String 专门保存字符串的类型
Boolean 专门保存真/假二选一的类型
undefined 只有一个值undefined
null 表示不指向任何地址(比如只有人名没有手机号)
2.引用类型,值不保存在变量本地的数据类型
Number类型:专门保存数字的类型,不加引号
when:要参与算数计算或比较大小的数据
比如:价钱 年龄
所占空间:64位二进制数保存
64bit=8bytes,8位等于一字节
强调:数字所占空间和数值大小无关
所有数字都占8字节
***舍入误差:因为计算机中无法精确表示1/10,导致计算产生的误差。不可避免!
解决:四舍五入--n.toFixed(2):将n按2位小数四舍五入
String类型:专门保存一串字符的序列,必须带引号
when:保存文字时,或保存仅用于现实的数字时
比如:姓名 身份证明 手机号 QQ号
所占空间: js的程序内存中的字符都是用unicode标识的
unicode:对全球主要语言中的每个字符都编一个号
每个字母、标点:1字节
每个汉字:2字节
比如:“Hello马里奥”
111112 2 2=11个
***字符串内容一旦创建,不可改变!
要想改变只能创建新字符串,替换旧字符串
+:如果参与+运算的值中包含字符串类型数据
+法运算自动变为字符串拼接!
var str1="Hello";
var str2="World";
var str=str1+str2;
console.log(str);
//"Hello""World"
//Hello World
var n="2";
var m="3";
var r=n+m;
console.log(r);
//"2""3"
//"23"
var n=2;
var m=3;
var r=n+m;
console.log(r);
//2 3
//5
var str="Hello"+"World";
//Hello World
console.log(str);
//共创建过3个字符串
Boolean类型:只有两个值true/false
when:如果表示二选一的值时,就用Boolean类型
1.前段三大语言
HTML:专门编写网页内容的语言
CSS:专门美化网页内容样式的语言
HTML和CSS运行于内容排版器/引擎
交互:用户操作 程序处理或响应操作 返回结果
JavaScript:专门编写交互程序的语言
运行于js解释器/引擎中
解释执行--逐行读取,先读到先执行,后读到后执行
js发展史:
Netscape:navigator
1995 JavaScript--像极了Java,但比Java简单
Java “write once run anywhere”
1996 JavaScript 1.1--〉ECMA
*ECMAScript标准--〉定义了js语言的核心语言
Netscape--〉遵照标准,实现了JavaScript语言
Microsoft(微软)--〉遵照标准,实现了JScript语言
W3C:DOM标准--〉专门操作网页内容的标准
所有浏览器都兼容的标准
BOM;专门操作浏览器窗口的编程接口
*js=ECMAScript标准+DOM标准+BOM
2.如何使用js:
如何编写,如何运行
如何运行:2种:1.浏览器内置js引擎
2.独立安装js引擎:nodejs
如何编写:4种方式:
1.直接在浏览器(打about:blank回车)控制台(F12)中,编写js脚本:
Console:控制台:专门编写和调试js程序的窗口
比如:console.log("hello world");
console: 特指控制台窗口
.: 的
log:console中提供的一个功能
功能接受一个字符串参数,在控制台输出该字符串
字符串:一串字符的集合
字符串必须用引号包裹,但单双引号都行
*程序中的关键字区分大小写!*
字符串的字符不要求大小写
2个按键:
多行程序:shift+Enter
上下方向键:切换已执行过的代码--避免重复编写
2.在网页中编写js脚本程序:3处
1.<script>元素中
直接编写在<script>中的js程序,随网页加载过程解释执行
document.write("");
document:当前网页
write:写入功能,直接写入body元素中。不带换行
write中的字符串必须符合html语法
强调:write中换行: <br>
2.单独js文件保存js脚本程序:2步:
1.创建.js文件,保存js脚本程序
2.<script src="url"></script>引入外部js文件
脚本程序:不需要预编译,边解释边执行的程序
3.元素的事件处理程序中编写一一了解
不随网页加载过程执行,只有触发时间时,才执行。
window.alert("");
window:指代当前窗口
alert:当前窗口的警告框
console.log("");
document.write("");
window.alert("");
如何调试
bug:程序中出现的一切错误
debug:发现错误,解决错误
js程序出错:希望的交互效果没出来--〉F12--〉console
console:错误信息:3部分:
错误的类型:错误的原因:出错位置的链接
出错现象:出错位置同<script>下的程序:
出错前的程序正常执行
出错位置及其之后的程序不执行
其他<script>中的程序,不受影响
正课
1.***变量
2.***常量
3.***数据类型
1.***变量:
What:内存中存储1个数据的存储空间,再起个名字
When:程序中的数据都要先用变量保存,再处理
如何使用变量:声明 赋值 取值
声明:在内存中创建一个新变量;
如何声明:var 变量名;
强调:仅声明未赋值,都为undefined;
命名规则:
1.不能以数字开头
2.不能用保留字
3.*见名知义*
4.驼峰命名:首字母小写,之后每个单词首字母大写
比如:backgroundColor
listStyleType
stdentName
赋值:将一个数据存入变量中
如何赋值:变量名=值
=:专门表示将右边的值,存入左边的变量中保存
*对已有值得变量赋新值,新值会把已有值取代
***强烈建议:
声明同时初始化:第一次给变量赋值;
如何声明同时初始化:var 变量名=值;
取值:从变量中取出数据,进行运算
如何取值: 在程序任何位置,只要使用变量名等效于直接使用变量中存储的数据
特殊情况:2种:
1.为一个从未声明过的变量赋值:不会出错!
会自动创建同名变量,在保存数据
2.尝试从一个未声明过的变量中取值:会出错!
referenceError:未找到或未定义
***声明提前:在程序正式执行前,都会将所有var声明的变量提前到开始位置,集中创建,***赋值留在原地***
/*只要碰到声明提前的问题,都要先提前,再判断*/
console.log(a);//undefined
var a=100;
console.log(a);//100
var a=200;
console.log(a);//200
console.log(b);//报错
var b=10;
console.log(b);
输出:console.log(变量名)
2.常量:一旦声明并初始化后,值不可改变的量!
when:只要保存一旦创建,不可擅自改变的量时
比如:pi 重力加速度g
how:const 常量名=值;
常量名要全大写
3.数据类型:
what:内存中存储不同数据的存储格式
js中数据类型:2大类
1.原始类型:值保存在变量本地的数据类型
5种:Number 专门保存数字的类型
String 专门保存字符串的类型
Boolean 专门保存真/假二选一的类型
undefined 只有一个值undefined
null 表示不指向任何地址(比如只有人名没有手机号)
2.引用类型,值不保存在变量本地的数据类型
Number类型:专门保存数字的类型,不加引号
when:要参与算数计算或比较大小的数据
比如:价钱 年龄
所占空间:64位二进制数保存
64bit=8bytes,8位等于一字节
强调:数字所占空间和数值大小无关
所有数字都占8字节
***舍入误差:因为计算机中无法精确表示1/10,导致计算产生的误差。不可避免!
解决:四舍五入--n.toFixed(2):将n按2位小数四舍五入
String类型:专门保存一串字符的序列,必须带引号
when:保存文字时,或保存仅用于现实的数字时
比如:姓名 身份证明 手机号 QQ号
所占空间: js的程序内存中的字符都是用unicode标识的
unicode:对全球主要语言中的每个字符都编一个号
每个字母、标点:1字节
每个汉字:2字节
比如:“Hello马里奥”
111112 2 2=11个
***字符串内容一旦创建,不可改变!
要想改变只能创建新字符串,替换旧字符串
+:如果参与+运算的值中包含字符串类型数据
+法运算自动变为字符串拼接!
var str1="Hello";
var str2="World";
var str=str1+str2;
console.log(str);
//"Hello""World"
//Hello World
var n="2";
var m="3";
var r=n+m;
console.log(r);
//"2""3"
//"23"
var n=2;
var m=3;
var r=n+m;
console.log(r);
//2 3
//5
var str="Hello"+"World";
//Hello World
console.log(str);
//共创建过3个字符串
Boolean类型:只有两个值true/false
when:如果表示二选一的值时,就用Boolean类型