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个,
* n{x,}:至少包含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("^\\w{6,12}$");
//常用
var reg2=/^\w{6,12}$/g;//定义字符长度6-12位的对象
var user="zhangeerwqeweqeeqweqweqw";
var result=reg2.test(user)
alert(result);
</script>
3. 内置对象
* Global对象
* 全局对象
* Math对象
* 无须初始化直接通过关键字Math调用所有的方法和属性。
4. 宿主对象
* DOM(文本对象模型)和BOM(浏览器对象模型)
08-JavaScript基础的更多相关文章
- JavaScript基础入门08
目录 JavaScript 基础入门08 DOM 介绍 绑定事件 给一组元素绑定事件 节点 节点树 节点类型 选取文档内容 通过id选取元素 通过指定的标签名选取元素 用指定的css类来选取元素 通过 ...
- JavaScript基础系列目录(2014.06.01~2014.06.08)
下列文章,转载请亲注明链接出处,谢谢! 链接地址: http://www.cnblogs.com/ttcc/tag/JavaScript%20%E5%9F%BA%E7%A1%80%E7%9F%A5%E ...
- JavaScript基础---语言基础(1)
写在前面: 通过四篇博客把JS基础中的基础整理一下,方便自己查阅,这些内容对于实际项目开发中也许并不会在意,但是作为JS的语言基础,自觉还是应该熟悉.在完成这三篇博客(JavaScript基础---语 ...
- javaScript基础之闭包
不管是Jquery还是EXTJS,现代的js框架中大量应用了js的一些特性,比如:匿名函数,闭包等等,导致源代码非常难以阅读. 不过要想真正的使用好前台的UI技术,还是需要去深入的理解这些概念. ...
- JavaScript基础知识(一)
一.JavaScript基础 1.JavaScript用法: HTML 中的脚本必须位于 <script> 与 </script> 标签之间. 脚本可被放置在 HTML 页面的 ...
- 回归JavaScript基础(六)
主题:引用类型Date.RegExp的介绍. 上节主要主要介绍了Object.Array引用类型.这节将继续为大家介绍引用类型,并对书中的一些知识点进行总结与归纳,也借此巩固自己对JavaScript ...
- JavaScript学习(1)之JavaScript基础
JavaScript学习(1)之JavaScript基础 由于工作原因,开发语言逐渐以JavaScript为主,所以,抽空学习了下JavaScript语法.等现阶段的工作稳定之后,陆续会分享下自己在学 ...
- javascript基础入门知识点整理
学习目标: - 掌握编程的基本思维 - 掌握编程的基本语法 typora-copy-images-to: media JavaScript基础 HTML和CSS 京东 课前娱乐 众人皆笑我疯癫,我笑尔 ...
- JavaScript基础入门06
目录 JavaScript 基础入门06 Math 对象 Math对象的静态属性 Math对象的静态方法 指定范围的随机数 返回随机字符 三角函数 Date对象 基础知识 日期对象具体API 构造函数 ...
- JavaScript——基础知识,开始我们的js编程之旅吧!
JavaScript基础第01天 1. 编程语言 编程语言: 可以通过类似于人类语言的"语言"来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming ...
随机推荐
- 如何在ArcGIS中恢复注记文字
文字标注是地图上一种特殊的视觉元素,可通过文字表达图形符号难以说明的地图内容,它与图形符号结合在一起存在于地图上,是关乎地图构图美的关键因素之一. MapGIS软件下子图对象和注释对象统统保存在点文件 ...
- Java中的equalsIgnoreCase()
在工作中偶然机会看到了equalsIgnoreCase()这个方法,相信大家和我一样equals()是再熟悉不过的了,但是对于equalsIgnoreCase()有点眼生(大神勿喷),所以写了这篇博客 ...
- 聊一聊 InnoDB 引擎中的索引类型
索引对数据库有多重要,我想大家都已经知道了吧,关于索引可能大家会对它多少有一些误解,首先索引是一种数据结构,并且索引不是越多越好.合理的索引可以提高存储引擎对数据的查询效率. 形象一点来说呢,索引跟书 ...
- python shutil 文件(夹)的复制、删除、移动、压缩和解压
高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length])将文件内容拷贝到另一个文件中 import shutil shutil.copy ...
- restframework 视图
重要知识点 as_view()获取的是view方法名,当url配版成功,执行view方法 一.逻辑封装(mixins, generics) path('author/', views.AuthorVi ...
- 9.Java三大版本以及JDK,JRE,JVM简单介绍
Write Once,Run Anywhere. JavaSE:标准版(桌面程序,控制台开发...),是Java的基础和核心. JavaME:嵌入式开发(手机,小家电...),现在基本不用已经过时. ...
- MySQL日志及索引
MySQL物理结构: MySQL它是通过文件系统对数据进行储存和管理,从物理结构上分为日志文件和数据文件 日志文件: 日志文件记录了数据库操作的信息和一些错误信息,我们常用的日志文件有:错误日志.二进 ...
- initramfs打包集成rootfs到image镜像及linux rootfs的正常启动
最近的项目中需要在仿真机haps及VDK上集成rootfs,中间遇到一些问题,在此整理记录以备忘. rootfs里面集成的busybox版本1.29.3 (buildroot环境中自带) kernel ...
- (ES6)JavaScript中面向对象类的实现
在ES5中,我们就知道JS是不支持面向对象的,所以用函数模拟了一个构造函数来实现类的.那么在ES6中,在ES5的原理基础上,将代码书写更为简单,明了. 一.怎样用ES6创建类?首先看一看例子: cla ...
- hash算法与拉链法解决冲突
<?php class HashNode { public $key; public $value; public $nextNode; public function __construct( ...