js内核,命名, 基本数据类型,数据类型检测

一js解释器 :

浏览器内核

IE            Trident  俗称IE内核

Chrome        Webkit  Blink(2013年)

FireFox	      Gecko  俗称FireFox内核

Opera	      Blink  Presto
 
Safari	      Webkit

二,变量的命名规则和规范

	// 命名规则 : 必须遵守, 不遵守程序就会报错
		// 1. 变量名使用_ $ 或者字母开头, 变量里面可以包括 _ $ 字母 数字 
		// 2. 变量必须声明后才能使用, 否则就会报错
		// 3. 不能使用js里面的关键字和保留字

	// 命名规范 : 程序员约定俗成的一个规矩
		// 1. 最好使用英语单词来命名
		// 2. 驼峰命名法 第一个单词首字母小写, 后面每个单词的首字母大写

	// name 可以不声明就是用, 除name以外, 其他所有的变量不声明直接使用 就会报错

三, 五种基本数据类型
1,string

			js里面一切以双引号或者单引号引起来的内容
2,number
			数学上的所有数字, 0  1  -2   3.14
			NaN
			1. 他是一种特殊的数字类型, 是数学计算错误出现的一种数字
			2. NaN 不等于任何数字, 包括他自己
			3. NaN和任何数字计算得到的都是NaN
			4. isNaN(数据)  检测一个数字是不是NaN
				true
				false
			Number.MAX_VALUE最大值
			Number.MIN_VALUE	最小值
			Infinity正无穷	
		-Infinity负无穷			
3,boolean
	表示的是事物的对立面
		只有两个值
			true
			false
4,undefined
	他表示空值
		变量声明后, 没有赋值, js给的初始值
	他是一种特殊的数据类型
		只有一个只, 就是undefined
5,null
	也表示空值, 这个必须人为赋值
	Null类型, 也只有一个值  null
	他是一个对象

四,六种数据类型检测

		数据类型检测
		关键字  typeof(变量名或者数据)
		返回只有六个值
			string
			number
			boolean
			object
			undefined
			function
		typeof无法检测复杂数据类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一章 概述 1.1 Javascript简史 在20世纪90年代,也就是早期的WEB站点上,所有的网页内容都是静态的,所谓静态是指,除了点击超链接,你无法通过任何方式同页面进行交互,比 如让页面元素接受事件,修改字体等。人们于是迫切的需要一种方式来打破这个局限,于是到了1996年,网景(Netscape)公司开始研发一种新的语言 Mocha,并将其嵌入到自己的浏览器Netscape中,这种语言可以通过操纵DOM(Document Object Model,文档对象模型)来修改页面,并加入了对鼠标事件的支持。Mocha使用了C的语法,但是设计思想上主要从函数式语言Scheme那里取得了灵 感。当Netscape 2发布的时候,Mocha被改名为LiveScript,当时可能是想让LiveScript为WEB页面注入更多的活力。后来,考虑到这个脚本语言的推 广,网景采取了一种宣传策略,将LiveScript更名为JavaScript,目的是为了跟当时非常流行的面向对象语言Java发生暧昧的关系。这种 策略显然颇具成效,以至于到现在很多初学者还会为JavaScript和Java的关系而感到困惑。 Javascript取得成功了之后,确实为页面注入了活力,微软也紧接着开发自己的浏览器脚本语言,一个是基于BASIC语言的 VBScript,另一个是跟Javascript非常类似的Jscript,但是由于Javascript已经深入人心,所以在随后的版本中,微软的 IE几乎是将Javascript作为一个标准来实现。当然,两者仍然有不兼容的地方。1996年后期,网景向欧洲电脑厂商协会(ECMA)提交了 Javascript的设计,以申请标准化,ECMA去掉了其中的一些实现,并提出了ECMAScript-262标准,并确定Javascript的正 式名字为ECMAScript,但是JavaScript的名字已经深入人心,故本书中仍沿用Javascript这个名字。 1.1.1动态网页 WEB页面在刚开始的时候,是不能动态修改其内容的,要改变一个页面的内容,需要先对网站上的静态HTML文件进行修改,然后需要刷新浏览器。后来 出现的JSP,ASP等服务器端语言可以为页面提供动态的内容,但是如果没有JavaScript则无法在服务器返回之后动态的在前端修改页面,也无法有 诸如鼠标移上某页面元素则高亮该元素之类的效果,因此JavaScript的出现大大的丰富了页面的表现,提高了用户体验。 而当 AJAX流行起来之后,更多的非常绚丽的WEB应用涌现了,而且呈越来越多的趋势,如Gmail,Google Map,Google Reader,Remember the milk,facebook等等优秀的WEB2.0应用,都大量的使用了JavaScript及其衍生的技术AJAX。 1.1.2浏览器之战 1.1.3标准 1.2 JavaScript语言特性 JavaScript 是一门动态的,弱类型,基于原型的脚本语言。在JavaScript中“一切皆对象”,在这一方面,它比其他的OO语言来的更 为彻底,即使作为代码本身载体的function,也是对象,数据与代码的界限在JavaScript中已经相当模糊。虽然它被广泛的应用在WEB客户 端,但是其应用范围远远未局限于此。下面就这几个特点分别介绍: 1.2.1动态性 动态性是指,在一个Javascript对象中,要为一个属性赋值,我们不必事先创建一个字段,只需要在使用的时候做赋值操作即可,如下例: Js代码 1. //定义一个对象 2. var obj = new Object(); 3. //动态创建属性name 4. obj.name = "an object"; 5. //动态创建属性sayHi 6. obj.sayHi = function(){ 7. return "Hi"; 8. } 9. obj.sayHi(); //定义一个对象 var obj = new Object(); //动态创建属性name obj.name = "an object"; //动态创建属性sayHi obj.sayHi = function(){ return "Hi"; } obj.sayHi(); 加入我们使用Java语言,代码可能会是这样: Js代码 1. class Obj{ 2. String name; 3. Function sayHi; 4. public Obj(Sting name, Function sayHi){ 5. this.name = name; 6. this.sayHi = sayHi; 7. } 8. } 9. Obj obj = new Obj("an object", new Function()); class Obj{ String name; Function sayHi; public Obj(Sting name, Function sayHi){ this.name = name; this.sayHi = sayHi; } } Obj obj = new Obj("an object", new Function()); 动态性是非常有用的,这个我们在第三章会详细讲解。 1.2.2弱类型 与Java,C/C++不同,Javascript是弱类型的,它的数据类型无需在声明时指定,解释器会根据上下文对变量进行实例化,比如: Js代码 1. //定义一个变量s,并赋值为字符串 2. var s = "text"; 3. print(s); 4. //赋值s为整型 5. s = 12+5; 6. print(s); 7. //赋值s为浮点型 8. s = 6.3; 9. print(s); 10. //赋值s为一个对象 11. s = new Object(); 12. s.name = "object"; 13. print(s.name); //定义一个变量s,并赋值为字符串 var s = "text"; print(s); //赋值s为整型 s = 12+5; print(s); //赋值s为浮点型 s = 6.3; print(s); //赋值s为一个对象 s = new Object(); s.name = "object"; print(s.name); 结果为: text 17 6.3 Object 可见,Javascript的变量更像是一个容器,类似与Java语言中的顶层对象Object,它可以是任何类型,解释器会根据上下文自动对其造 型。 弱类型的好处在于,一个变量可以很大程度的进行复用,比如String类型的name字段,在被使用后,可以赋值为另一个Number型的对象,而 无需重新创建一个新的变量。不过,弱类型也有其不利的一面,比如在开发面向对象的Javascript的时候,没有类型的判断将会是比较麻烦的问题,不过 我们可以通过别的途径来解决此问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值