首页 > 代码库 > JavaScript 概述
JavaScript 概述
1 JavaScript
1.1 JavaScript 是一种脚本语言脚本语言不单独使用,必须嵌入到其它语言中组合使用
1.2 JavaScript 由浏览器解析运行。解析一条。运行一条
1.3 JavaScript 能够控制前端的页面的逻辑操作
比如 能够控制css样式
能够对表单项进行校验
能够对HTML元素进行动态控制
1.4 JavaScript 的特点
交互性
安全性
跨平台性
2. JavaScript 的组成
2.1 ECMAScript 描写叙述了JavaScript 的语法 和基本对象2.2 DOM 文档对象 : 处理网页内容的方法和接口
2.3 BOM 浏览器对象类型 与浏览器交互的方法和接口
3. JavaScript 和 java 的关系
两者没有一点关系 ,仅仅是语法形式上相似
JavaScrip 与java 的差别
3.1 JavaScrip 是一种脚本语言。java 是一种编程语言
3.2 JavaScrip 是一种弱类型语言 , java 是一种强类型语言
3.3 JavaScrip 是由浏览器运行,java 是由JVM运行
3.4 JavaScrip 是基于对象 。 java 是面向对象
4.JavaScrip与HTML的结合 方式
4.1 内部使用(属性结合方式)4.2 外部使用
<script type="text/javascript" src="http://www.mamicode.com/文件路径名"></script>
5. JavaScrip 中的语法及用法
5.1 凝视
单行凝视 //多行凝视 /**/
5.2 变量
5.2.1 JavaScrip 中的变量格式 var 变量名 = 变量值 ;5.2.2 变量类型 JavaScrip 中是大写和小写敏感的
5.2.2.1 原始数据类型
string 字符串类型 ‘’ “” 都 表示 是字符串boolean
number 数字类型 整数 小数 和NaN
null 对象的占位符。表示引用类型的不用在
typeof 运算符对于null 值 会返回 Object 这实际上是JavaScript最初
的一个错误
typeof() 用来推断 变量值是什么 结果 是原始数据类型
undefined 声明的变量未赋值,系统会默认赋值undefined
undefined 是从null 中派生出来的 undefined == null // true
5.2.2.2 引用数据类型
JavaScript 中并无类。我们能够理解为对象Object 全部对象的父类
instanceof 用来推断对象属于哪种类型
var obj = new Object(‘aa‘); alert(obj);//aa var obj = new Boolean(10); alert(obj);//true var obj1 = new Boolean("22"); alert(obj1);//true var obj2 = new Boolean(true); alert(obj2);//true var obj3 = new Boolean(false); alert(obj3);//false var obj4 = new Boolean(null); alert(obj4);//false var str=‘abc‘; alert(str instanceof String); //false var str1 = new String(‘abc‘); alert(str1 instanceof String); //true var str2 = new String(‘abc‘); alert(str2 instanceof Array); //false var str3 = new String(‘abc‘); alert(str3 instanceof Object); //true var num = undefined; alert(num);//undefined alert(typeof(num));//undrfined alert(typeof(num.toString()));//不运行
5.2.2.3 类型转换
5.2.2.3.1 转换成字符串
var flag = true; alert(flag);//true alert(typeof(flag));//boolean alert(typeof(flag.toString()));//string var num = 5; alert(num);//5 alert(typeof(num));//number alert(typeof(num.toString()));//string var num = null; alert(num);//null alert(typeof(num));//Object alert(typeof(num.toString()));//不运行
5.2.2.3.2 转换成数字
var str = ‘abc‘; alert(typeof(str));//string alert(parseInt(str));//Nan alert(typeof(str));//string var str = true; alert(typeof(str));//boolean alert(parseInt(str));//Nan alert(typeof(str));//boolean var str = null; alert(typeof(str));//Object alert(parseInt(str));//NaN alert(typeof(str));//Object var str = ‘454a55‘; alert(typeof(str));//string alert(parseInt(str));//454 alert(typeof(str));//string
注意:
parseInt() 把其它类型转成整数,有小数直接忽略
parseFloat() 把其它类型转成小数
string 假设能够转换成数字。是多少就转成多少。
假设有非法字符。那么非法字符后面的东西所有忽略
假设第一个就是非法字符。那么就直接转换成NaN
boolean 直接转成NaN
null 转成NaN
undefiend 转换成NaN
5.2.2.3.3 强制类型转换
Boolean(value) - 把给定的值转换成 Boolean 型;Number(value) - 把给定的值转换成数字(能够是整数或浮点数)。
String(value) - 把给定的值转换成字符串;
注意:
Boolean
string 假设有字符串值,那么是true
假设是空字符串。那么是false
number 假设数字非0,那么是true
假设是0或者NaN,那么是false
null false
undefined false
5.2.3 算术运算符
+符号算术运算加
字符串连接转换符
number转换符(其它类型转number):
string转number :将值转成数字类型。假设值不是合法数字,就转为NaN
比如:var str = +"11";
var str=‘a‘;
boolean转number : true转为1 ,false转为0-号除了运算外,能够作为转换符
null转number: 转为0
undefined转number:转为 NaN
alert(typeof(str));//string
alert(str);//a
str = + ‘11‘;
alert(typeof(str));//number
alert(str);//11
使用算术运算符时,都会向数字方向进行转换,假设不是数字类型,则不转换。
-符号
算术运算减
转换符
number转换符(其它类型转number)
5.2.4 赋值运算符
= 赋值+= 原值先加后赋值(若原值不为可运算数字,自己主动转换为相应数字)
-= 原值先减后赋值(若原值不为可运算数字,自己主动转换为相应数字)
5.2.5 比較运算符
== 比較值=== 比較值和类型
!= 比較值
!== 比較值或比較类型,有一个不同即为不同
5.2.6 逻辑运算符
&& 逻辑与|| 逻辑或
!
非
使用以上逻辑运算符,终于都会用boolean类型运算,若不是boolean类型,则进行转换。
number转boolean:0或NaN 转换成false ,其它为true
string转boolean:””为false,其它为true
null转boolean:转为false
undefined转boolean:转为false
对象转boolean:转为true
5.2.7 条件运算符
var var = (表达式)?value1:value25.3 流程控制语句
if switch for while6 对象
6.1 Number 对象
创建方式:var mun1 =10; --伪对象 alert (typeof(num1));//number
var num2 = new Number(10); alert(typeof(num2));//Object
var num3 = Number(10); alert(typeof(num3));//number
属性
MAX_VALUE; alert(Number.MAX_VALUE);
MIN_VALUE; alert(Number.MIN.VALUE);
NaN; 能够使用isNaN() 来推断一个值是否为数字
推断
6.2 Boolean 对象
创建方式:var flag1 = true;
var flag2 = new Boolean(true);
var flag3 = Boolean(true);
alert(flag1);//true
alert(flag2);//true
alert(flag3);//true
6.3 String 对象
创建方式:属性 length
charAt(5);
concat(str1,..);
indexOf();
replace(srt1,str2);
split("");
6.4 数组
var arr= [1,2,3];var arr =new Array();
var arr = new Arry(4); 默认数组长度是4
var arr = new Array(1,2); 数组元素是1。2
属性 length
经常使用 方法
concat(,,,) 连接两个或很多其它的数组,并返回连接后的结果,对调用的数组没有不论什么的影响
join()
shift()删除并返回数组的第一个元素。假设数组已空,那么SHIFT()方法将不进行不论什么 操作,返回 undefien
pop()删除并返回 数组的最后一个元素。假设数组已为空,则pop()不改变数组,并返回 undefiend
push()向数组末尾加入一个或多个元素,并返回新数组的长度
unshift()向数组 开关加入一个或多个元素。并返回回新数组的长度
reverse() 把数组的元素进行物理翻转,会操作数组
sort() 排序会默认依据字符码表去排序,有非常大的缺陷,所以最好实现实例
function sortNumber(a,b){ return a-b}
javascript 与 java 中的数组 的差别
数组的长度是可变的
数组的元素能够是随意类型的
6.5 Date 方法
var date = new Date(); 会创建 date 对象,会把当前的系统值做为初始值
var date = new Date(毫秒值) 会创建date对象
方法
toLocaleString() 会把日期 转换成本地日期格式 getDate() 返回 一个月中的某一天 gerDay() getMath() getfullYear() getTime() settime() parse() var date = new Date(); alert("date"+date); alert("date tolocalestring "+date.toLocaleString()); alert("date gedate "+date.getDate()); alert("date getDay"+date.getDay()); alert("date getMonth "+date.getMonth()); alert("date getFullyear "+date.getFullYear()); alert("date gettime "+date.getTime()); 计算某两个时间内相差的天数 var time1 = Date.parse("2015/7/8"); var time2 = Date.parse("2015/7/9"); var long = time2-time1; alert(long/1000/60/60/24);
6.6 Math 对象
方法random();
round();
ceil()
floor()
6.7 RegExp 对象
7 全局函数
7.1 eval 能够把字符串当做JavaScript代码来运行var str ="alert(‘你好‘)";
eval(str);
7.2 isNaN() 推断是否是 NaN 假设參数是NaN 那么返回true 否则是false
7.3 URL
encodeURL() 编码
decodeURL() 解码
encodeURIComponent() URI编码 进行编码的时候适用于 传递參数
decodeURIComponent() URI解码
var str = "http://www.itcast.cn/a.html?dfd=张三&dfd=123abc";
var tem = encodeURI(str);
alert("tem"+tem);
alert(decodeURI(tem));
7.4 URL URI
7.4.1 URL 是统一资源定位符 URL是详细的URI
URI 是统一的资源标识符
URL 是绝对的,资源改变位置 URL
比如:http://www.baidu.com是URL,不是URI
比如:http://www.baidu.com/a.html 是URL也是URI
JavaScript 概述
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。