一、定义js代码
<script type="text/javascript"> </script> <script type="text/javascript" src="文件名字"> </script>
二、变量声明及赋值
var t1=123;//声明变量(全局) var t2 = "test"; //局部变量 function test3(){ t3 = "test"; //全局变量 alert("--"+t3) }
一道js面试题
var t1=123; //在全局和局部有重名的变量 //执行函数会使用局部变量 function test(){ alert(t1);//undefined var t1=234; alert(t1)//234 } test(); alert(t1);//123
三、JS调用方式
1、直接调用
<script type="text/javascript"> test01(); function test01(){ alert("test"); return false; } </script>2、事件调用
<input type="button" value=test onclick="test01();">3、伪协议调用
<a href="javascript:test01();" >test</a>
ps:一个小技巧(在超链接中调用js但不跳转)
<a href="javascript:void(0)" onclick="test01();">gaga</a> <a href="http://www.baidu.com" onclick="return test01();">gaga</a> function test01(){ alert("test"); return false; }
四、js数据类型
变量是没有类型的,数据是有类型的。常用的有如下6种类型:
undefined未定义 (声明了变量但从未赋值 )
boolean布尔型 (true,false)
boolean 的定义方式:
var t = Boolean(1);//得到true
字符串string (单引号、双引号均可)
数值number:包括整数和小数,NaN(Not a Number),Infinity, -Infinity
1/0 得到 Infinity
-1/0 得到 -Infinity Number('test') 得到NaN 表示不是数字的数字类型
对象object null空 (赋值为null) null 也是一种Object
五、数据类型的转换
1、Number(mix)
如果是布尔值,true和false分别被转换为1和0
如果是数字值,返回本身
如果是null,返回0.
如果是undefined,返回NaN。
如果字符串中只包含数字,则将其转换为十进制(忽略前导0)
如果字符串中包含有效的浮点格式,将其转换为浮点数值(忽略前导0)
如果是空字符串,将其转换为0
如果字符串中包含非以上格式,则将其转换为NaN ‘ssd2342df’
2、String()
如果是null,返回”null”
如果是undefined,返回”undefined”
3、Boolean()
alert(Boolean(0)) alert(Boolean(false)) alert(Boolean(null)) alert(Boolean(undefined)) alert(Boolean(NaN)) alert(Boolean(""));//全是false,其他事true。特别是对象,是true如下 alert(Boolean(new Date()))
六、js中的比较
==表示弱等号,只是比较值,不比较类型
alert(true=="true");//false String Number Boolean 这三种数据之间比较,如果两边不是number类型的会先转化成Number类型。本题true转化为1,“true”转化为NaN
alert(NaN==NaN);//false NaN是唯一一个和自己都不想等
alert("123"==123)//true
'' == '0' //false 两边数据类型相同,则直接比较值
var t = {};//json 对象
alert({}=={});//false 比较地址
alert([]==[])//同上
alert([1]==1)//true 对象与Number、Boolean、String比较的时候,会调用ValueOf方法,没有就调用toString方法,[1]的valueOf方法返回1,所以为true。但是alert([1,2].valueOf())会得到1,2
alert(!{} == {} )//false 左边:要进行boolean运算要先将对象转化为boolean类型的值,对象不再六中情况之内为true,在进行非运算得到false。右边得到字符串。两边在转化为Number类型,这是左边是0,右边是NaN
alert(![]==[])//true 左边[]转化为Boolean得到true,非一下为false。右边得到空字符转。两边在转化为Number的0=0
alert(null==null)
alert(null==undefined)//这两种是想等的,null与其他类型的比较是不等的
===是强等,要求数据类型和类型都相同
规则总结
== 弱等 隐式转换
Boolean String Number三种数据之间比较
X==y (x,y 数据类型一样 ,比较值)
X和y不一样
X和y 隐式转换为number再做比较
true==”true”//false
NaN==NaN//false NaN和自己都不相等
Null,undefined 和其他比较不等
X==y 比较的时候如果其中出现了一个object
Obj 有valueof直接调用得到值后比较 没有调用toString();
比较规则回到前面
{}=={}
[]==[]
!{}=={}//false
![]==[]//true
七、js中的控制语句
switch语句
switch (expression){ case const1: 语句块1; break; case const1: 语句块2 …… default: 语句块N }if语句
if(t==123){ alert("相等") } if(t===123){ alert("gaga") }for循环(while与java一样不再写了)
var t=[1,2,3,new Date(),{},"test"]; for(var i=0;i<t.length;i++){ alert(t[i]); } for(var t1 in t){ alert(t[t1]); }
八、数组
相关推荐
本书是一本全面、深入介绍JavaScript语言的学习指南。本书共分四个部分,第1部分帮助读者快速入手,掌握基本的JavaScript编程要点;第2部分介绍JavaScript的发展和技术背景;第3部分深入探索JavaScript,介绍了语法...
《Head First JavaScript源码》是2010年出版的一本中文版JavaScript学习书籍的源码,这本书以其独特的视觉设计和易理解的方式深入浅出地介绍了JavaScript编程语言。JavaScript是一种广泛应用于网页和网络应用的脚本...
《JavaScript权威指南》是JavaScript编程领域的一本经典之作,由著名技术作家David Flanagan撰写,被誉为"JavaScript犀牛书"。这本书深入浅出地讲解了JavaScript语言的核心概念、语法特性和高级特性,对于想要全面...
《JavaScript语言精粹》作为一本深入浅出讲解JavaScript编程语言的经典之作,对于想要提升自己JavaScript技能的开发者来说,无疑是一份宝贵的资源。本书由Douglas Crockford所著,他不仅是JSON格式的创始人,也是...
在这个场景中,我们关注的是VS2015的安装过程中涉及到的证书问题以及两个特定的组件:JavaScript_ProjectSystem.msi和JavaScript_LanguageService.msi。 首先,关于“VS2015安装证书”,这通常是指安装过程中需要...
JavaScript,一种广泛应用于Web开发的脚本语言,是前端开发的核心技术之一。这份"JavaScript学习指南"高清PDF,无疑为想要深入理解JavaScript的初学者或有一定基础的开发者提供了宝贵的资源。下面,我们将深入探讨...