第一章.JavaScript简介
1.与Java区别
运行方式不同:java需通过javac编译成字节码,然后由java虚拟机运行这些字节码
JavaScripe为脚本语言,其源代码无需经过编译,由浏览器解释执行
变量声明不同:java为加强类型变量语言,所有的变量必须先通过声明才可以使用,所有的变量都 有其固定的数据类型
JavaScripe为弱类型变量语言,其变量在使用前无需声明,由解释器在运行时检 查其数据类型
代码格式不同:java不可直接嵌入html而 javascripe可以
2.运行JavaScripe
1> 使用javascripe:前缀构建要执行代码的URL
2>使用<script../>元素来包含Javascripe代码
<body>
<a href="javascript:alert('运行javascript')">sgasd</a>
<script>
alert('直接运行的javascript');
</script>
</body>
3.导入
将html和javascripe分离,便于各自维护
<script src="***.js"></script>
使用src时,该script只能引入外部脚本,不能在元素内写脚本
defer 可取消延迟,但是只支持外部样式(文档就绪函数可起到取消延迟作用
//文档就绪函数
$(document).ready(function(){
//具体代码
})
//文档就绪函数简化:
$(function(){
//具体代码
})
4.norscript函数
<norscript../>用来向不支持Javascript或禁用了Javascript的浏览器显示提示信息。
第二章.JavaScript变量
1.定义变量方式
显示定义: var a;
隐式定义:a = "123"; 注意(Javascript区分大小写)
2.自动类型转换
字符串可用+为连接运算,字符串与数值用+相加时,系统自动将数值转为字符串做连接运算
3.强制类型转化
toString():将布尔值,数值转化为字符串
parselnt():将布尔值,字符串等转化为整数
parseFloat():将字符串,布尔值等转化为浮点数
使用方式:
var c = parseFloat(a) + 2;
如果强制转化没有成够则显示NaN
undefined,null,布尔值及其他的对象一律转成NaN
注意:当字符串不是数字开头时,转换成NaN;如果是数字开头,但包含非数字字符时,从非数字开始截掉。
4.变量作用域
全局变量:1.不在任何函数里定义的变量2.在函数里不使用var(隐式定义)定义的变量,就是全局变量
局部变量:1.在函数里定义的、2.使用var(显式定义)定义的变量,是局部变量
var test = "全局变量";//全局变量
function myFun() {
age = 20;//全局变量
var male = "局部变量";//局部变量
}
myFun();
alert(test + age);
alert(male);
全局变量与局部变量名字相同时:局部变量覆盖全局变量(在函数里,局部变量覆盖全局变量;在函数外,局部变量失效,访问全局变量)
块范围{}:{}中定义的变量只能在{}中使用 javascript中没有块范围
全局变量的作用范围对于html事件处理一样有效
5.变量提升机制
变量声明总是会被解释器提升到函数的顶部(只会提升声明部分,不会提升变量赋值部分)
6.let关键字
var 定义的变量没有块作用域 而let 定义的有
var定义的变量会自动添加全局window对象的属性,而let 定义的变量不t
var定义的变量会有提升机制 而let定义的变量没有
7.const常量
用const定义常量,
语法:要求必须在定义时初始化值,并且之后不可以修改常量的值,
约定俗称的规范:常量一般都是大写命名,如果是多个单词,中间使用_连接
第三章.JavaScript基本数据类型
1.基本数据类型
数值类型:包含整数和浮点数
布尔类型:只有true或false两个值
字符串类型:字符串类型必须用引号括起来,可以是单引号,也可以是双引号
undefined类型:专门用来确定一个已将创建但是没有初始点变量
null类型:用于表面某个变量值为空
2.数值类型
1> 字面量创建数值类型
var a = 10
面向对象创建数据类型
var a = new Number("10");
2> 科学计数法使用51.2E2来表示,其中E不区分大小写,举例:5.12e3、4E-4
如果包含小数,则小数点前面的0可以省略
3> 正无穷大 Infinity 负无穷大 -Infinity(这两个值进行算数运算时结果为NaN,与其他正常数值运算时结果为本身) 当数值被除以0,结果就为Infinity
两个正无穷大总是相等,虽然真实值不相等,但是都是正无穷大后,就相等了;负无穷大同理。
4> JavaScript中的NaN,全称Not a Number ,代表非数:
5>要比较浮点数,需要使用差值法 ,不然会丢失精度 (1byte = 8bit bit可表示范围-127到128)
var a = 0.3333;
var b = a * 5;
console.log(b);
console.log(b - 1.6665)
console.log(Math.abs(b - 1.6665));
//差值比较法
if (Math.abs(b - 1.6665) < 0.00000000001) {
console.log("b等于1.6665");
} else {
console.log("b不等于1.6665");
}
3.字符串类型
1>字符串没有字符类型,单引号,双引号都允许(在Javascript中用两个 == 即可比较字符串大小)
2> javascript提供的字符串相关属性和方法
String() 构建字符串
charAt() 获取字符串特定索引处字符
charCodeAt() 获取Unicode值
length 直接返获取字符串长度。每一个中文字符算一个字符
to UpperCase()/toLowerCase() 转换字母大小写
fromCharCode() 静态方法 ,将Unicode转化为字符
indexOf() 查看字符串第一次出现的位置 (索引从0开始而不是1)
indexOf( search,startindex) startindex指定不搜索左边startindex个字符
lastlndex() 查看字符串最后一次出现的位置
substring/slice()裁剪
substring(start,end) 从start(包括)到end(不包括),区别为后者支持负数
concat() 多个字符串拼成一个
split ()将某个字符串分割成多个字符串
replace()将字符串中某个字串以特定字符串代替
match/search() 正则化表达式搜索目标字字符串
前者返回匹配的字符串,后者返回匹配的索引值。 match若未搜素到返回null,search返回-1
4>.布尔类型
true和false布尔类型的值通常是逻辑运算的结果
5>.underfined和null
underfined 变量被定义了但是没有给其赋值或对象的属性不存在
null 表示变量是有值的,只是其值为null
两个运算符 tyeof :判断变量是什么类型
instanceof:判断对象是什么类型的对象
第四章。正则化表达式
1.什么是正则表达式
正则表达式的本质是一种特殊的字符串,这种特殊字符串允许使用通配符,因此一个正则表达式字符串可以匹配一批普通字符串。从这个意义上看,任意一个普通字符串也可看作正则表达式,只是正则表达式里不含通配符,因此只能匹配一个字符串。
2.正则表达式通配符表
本文详细介绍了JavaScript的基础知识,包括与Java的区别、如何运行JavaScript、导入脚本的方式以及<noscript>标签的使用。接着深入讲解了JavaScript的变量,如定义方式、类型转换、作用域、变量提升和let关键字。此外,还讨论了基本数据类型,如数值、字符串、布尔值、undefined和null。最后,提到了正则表达式的基本概念和常用通配符。
3669

被折叠的 条评论
为什么被折叠?



