08-JavaScript基础
Posted rqy0526
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了08-JavaScript基础相关的知识,希望对你有一定的参考价值。
今日知识
1. javascript基础
2. 案例
3.总结
JavaScript介绍:
* 概念:一门客户端脚本语言
* 运行在客户端浏览器中的,每一个浏览器都有JavaScript的解析引擎
* 脚本语言:不需要编译,直接就可以被浏览器解析执行
* 功能:
* 可以来增加用户用户和html页面交互过程,可以控制html元素,让页面有些动态的效果。
* JavaScript发展
1. 1992,Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验。命名为 : C-- ,后来更名为:ScriptEase
2. 1995年,Netscape(网景)公司,开发了一门客户端脚本语言:LiveScript。后来,请来SUN公司的专家,修改LiveScript,命名为JavaScript
3. 1996年,微软抄袭JavaScript开发出JScript语言
4. 1997年,ECMA(欧洲计算机制造商协会),制定出客户端脚本语言的标准:ECMAScript,就是统一了所有客户端脚本语言的编码方式。
* JavaScript = ECMAScript + JavaScript自己特有的东西(BOM+DOM)
基本语法
* ECMAScript:客户端脚本语言标准
1. 基本语法
1. 与html结合
1. 内部JS:
* 定义<script>,标签体内就是js代码
2. 外部JS:定义<script>,通过src引入js文件
* 注意
1. <script>可以定义在html页面的任何地方。但是定义的位置会影响执行顺序。
2. <script>可以定义多个。
2. 注释
1. 单行注释://
2. 多行注释 /*注释内容*/
3. 数据类型
1. 原始数据类型(基本数据类型)
1. number:数字。 整数/小数/NaN(not a number 一个不是数字的数字类型)
2. string:字符串。 字符串 "abc" "a" ‘abc‘
3. boolean: true和false
4. null:一个对象为空的占位符
5. undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined
2. 引用数据类型:
* 本地对象:
* Array对象: var mobile =new Array();
* Date()对象: var date=new Date();
* date.getFullYear()获取当前年份
* date.getMonth()获取当前月份
* RegExp对象:正则表达式
* 内置对象
* Global对象
* Math对象
* 宿主对象
* DOM(文本对象模型)和BOM(浏览器对象模型)
3. 类型转换
1. 转化为字符串
* var x=true;
var result=x.toString()//返回为true
* 使用科学计数法会返回计算后的十进制完整数
* 例如:var x=1.25e8;
var result=x.toString();//结果为125000000
* 基数模式下,填入指定参数
* 例如:var x=10;
var result=x.toString(2);//声明将原始数据转换为二进制,结果为"1010"
var result=x.toString(8);//声明将原始数据转换为八进制,结果为"12"
var result=x.toString(16);//声明将原始数据转换为十六进制,结果为"A"
2. 转换为数字
* praseInt()方法
* var x="123hello";
* var result=praseInt(x);//结果为123,遇到NaN(非数字)就会停止检查
* var result=praseInt(x,2);//表示原始数据为二进制。
* var result=praseInt(x,8);//表示原始数据为八进制。
* var result=praseInt(x,16);//表示原始数据为十六进制。
* 特殊情况:var x="010";
* result=praseInt(x);//不强调进制,会默认按8进制算
* praseFloat():使用方法和上面一样,遇到NaN(非数字)就会停止检查,只接受十进制的表示,
3. 强制类型转换Type Casting
* var result=Boolean("hello");//非空字符串返回true
* var result=Boolean("");//返回false
* var result=Boolean(0);//0 返回false
* var result=Boolean(2356);//非0返回true
* Number函数:
* var x=Number("2.9");//返回值为浮点型2.9
* var x=Number(true);//返回值为1
* var x=Number(false);//返回值为0
* -- 当需要返回的是为null,和undefined的时候, Number()函数分别返回为0,和NaN.
* 当需要转换的类型为其他自定义对象的时候,返回值都为NaN.
4. 变量
1. 变量:一小块存储数据的内存空间
2. Java语言是强类型语言,而JAVAScript是弱类型语言
* 强类型:在开辟变量存储空间时,定义了空间将来存储的数据的数据类型。只能存储固定类型的数据
* 弱类型:在开辟变量存储空间时,不定义空间将来的存储数据类型,可以存放任意类型的数据。
3. 语法:var 变量名=初始化值;
4. typeof运算符:获取变量类型
* null运算获得是object
5. 运算符
1. 一元运算符:
2. 算符运算符:+-*/%
3. 赋值运算符:= += -+....
4. 比较运算符:> < >= <= == ===(全等于)
1. 类型相同直接比较
2. 类型不同:先进行类型转换,在比较。
* ===:全等于,类型不一样,直接返回false。
3. 字符串比较
* 如果相同位置上是数字,直接按照数字大小进行比较
* 位数不同的也是按照只对相同位置的数字大小进行比较
* 比如:x="10",x1="9",result=x1>x;//返回true
* 字符串中是字母,会按照字母的ASCLL值进行挨个比较
* x.toLowerCase();所有字母转换为小写
* x.toUpperCase();所有字母转换为大写
4. 字符串和数字比较
* 先进行强制类型转换,在比较。
5. 逻辑运算符
1. !,&& ,|| 将其他类型转换为Boolean
2. number:0或NaN为假,其他为真
3. string:除了空字符串(""),其他都是true
4. null&undefined:都是false
5. 对象:所有对象都为true
6. 流程控制语句
1. if...else...
2. switch:
* 在java中,switch语句可以接受的数据类型: byte int shor char,枚举(1.5) ,String(1.7)
* switch(变量):
case 值:
* 在JS中,switch语句可以接受任意的原始数据类型
3. while
4. do...while
5. for
6. for-in
* 用于循环遍历是对象的所有属性或方法
* for(x in Object)
// x是变量,每次循环按照顺序获取对象的一个属性和方法名。
msg+=Object[x];//Object[X]指的是对应的属性值。
7. JS特殊语法:
1. 语句以;结尾,如果一行只有一条语句则 ;可以省略 (不建议)
2. 变量的定义使用var关键字,也可以不使用
* 用: 定义的变量是局部变量
* 不用:定义的变量是全局变量(不建议)
8. 实例:九九乘法表
代码:<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>九九乘法表</title>
<style type="text/css">
td
border:2px solid darkgray ;
</style>
<script>
document.write("<table align=‘center‘>");
//完成for循环嵌套
for(var i=1;i<=9;i++)
document.write("<tr>");
for(var j=1;j<=i;j++)
document.write("<td>");
//输出
document.write(i+"*"+j+"="+(i*j)+" ");
document.write("</td>");
// document.write("<br>");
document.write("</tr>");
document.write("</table>");
</script>
</head>
<body>
</body>
</html>
基本对象(引用数据类型)
1. Function:函数对象
1. 创建 function 方法名(形式参数列表)
方法体
2. 特点:
* 方法定义:形参的类型不用写,返回值类型也不写。
* 方法是一个对象,如果定义方法名称一样的函数,会覆盖
* 在js中,方法的调用只与方法的名称有关,和参数列表有关
* 在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有实际参数
2. 本地对象:
1. Array对象: var mobile =new Array();
* mobile [0]="nihao";
* 方法
join(参数):将数组中的元素按照指定的分隔符拼接为字符串
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
2. Date()对象: var date=new Date();
* date.getFullYear()获取当前年份
* date.getMonth()获取当前月份
* date.getDate();返回几号
* date。getDay():返回星期几
3. RegExp对象:正则表达式对象
1. 正则表达式:定义字符串的的规则
* 单个字符:[]
* 如[a],[ab] [a-zA-Z0-9]
* 特殊字符串代表的的特殊含义
* \d:查找哦数字字符
* \w:查找单词字符
* 量词字符:
* ?:表示出现0次或者1次 的
* *:代表0个或者多个
* +:至少包含一个以上的字符
* x,y:包含x个,或者Y个,
* nx,:至少包含X个以上的字符
* 开始结束符号:
* * ^n:查找以n开头的字符串
* * $n:查找以n结束的字符串
2. 正则表达式对象:
1. 创建
* var reg=new RegExp("正则表达式");
* var reg=/正则表达式/;
2. 方法
* exec():该方法适合具有参数的情况 var result=RegExpObject.exec(String s); 每次按照顺序从文本找到相应的字符串,直到 全部找完,再次运行就会返回null.
* test():用于检索是否包含指定字符串,返回值布尔类型。
* <script>
var reg=new RegExp("^\\w6,12$");
//常用
var reg2=/^\w6,12$/g;//定义字符长度6-12位的对象
var user="zhangeerwqeweqeeqweqweqw";
var result=reg2.test(user)
alert(result);
</script>
3. 内置对象
* Global对象
* 全局对象
* Math对象
* 无须初始化直接通过关键字Math调用所有的方法和属性。
4. 宿主对象
* DOM(文本对象模型)和BOM(浏览器对象模型)
以上是关于08-JavaScript基础的主要内容,如果未能解决你的问题,请参考以下文章
[2016-02-08][javascript][if语句]