JS的发展史

xiaoxiao2021-02-28  68

1、JavaScript发展史,JavaScript概念。 1.1 、JS发展史: 山寨打败原创(微软,网景) 1.1.1、1995年,表单验证。 1.1.2、Netscape(网景),布兰登(Brendan Eich) 1.1.3、标准:ECMAScript (国际标准化组织及国际电工委员会 ) 1.2、JS的概念: 网页交互、客户端脚本语言(与服务端脚本语言不同) 1.2.1、JS是一种专为与网页交互而设计的客户端脚本语言。 1.2.2、程序是有序的指令的集成。 1.2.3、JS 是一种具有面向对象能力的、解释型的程序设计语言。 1.2.4、基于对象和事件驱动并具有相对安全性的客户端脚本语言。 1.2.5、不需要在一个语言环境下运行,只需要支持它的浏览器。 1.3、JS的作用: 验证发往服务器端的数据、增加 Web互动、加强用户体验度等. 1.3.1、表单验证 1.3.2、用户互动 1.3.3、网页特效 1.4、运行平台: IE,firefox(火狐),chrome(谷歌),欧朋,苹果等浏览器。 1.5、客户端脚本语言的特点 JS脚本语言的特点: 1.5.1、脚本语言。解释型、逐行进行解释。 1.5.2、基于对象。基于对象、可以创建对象,可能使用现有的对象。  1.5.3、简单。弱类型的变量类型,对使用的数据类型无严格要求。 1.5.4、动态性。采用事件驱动,不用经过服务器可对用户的输入做出响应。 访问网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作,JS可直接对这些事件给出相应的响应。 1.5.5、跨平台性。不依赖于操作系统,仅需要浏览器的支持。 JS可以在任意机器使用,前提机器上浏览器支持JSt脚本语言,大多数的浏览器都支持JS脚本语言。 2、JavaScript的组成。 2.1、JS由三部分组成。 ECMAScript、BOM、DOM 2.1.1、核心 : ECMAScript 欧洲计算机制造商协会 2.1.2、BOM 2.1.2.1、浏览器对象模型 2.1.2.2、Browse Object Model, 2.1.2.3、提供与浏览器交互的方法和接口(API), 2.1.2.4、利用BOM控制浏览器显示页面以外的部分。 2.1.3、DOM 2.1.3.1、文档对象模型 2.1.3.2、Document  Object Model, 2.1.3.3、提供访问和操作网页HTML内容的方法和接口。 2.2:JavaScript 和 ECMAScript 2.2.1、含义相同。 2.2.2、JavaScript 的含义 比ECMA-262 中规定的多。 2.3、编辑工具和运行平台 2.3.1、编辑工具 HBuilder,Dreamweaver,sublime Text,Notepad++,文本等.. 2.3.2、运行平台 IE,firefox(火狐),chrome(谷歌),欧朋,苹果等浏览器。 3、JavaScript的标签。 3.1、标签 3.1.1、文件引入 <script type=" 文件类型 " src=" 路径 " ></script> 3.1.1.1、  3.1.1.1.1、 type 脚本语言的类型 type = text/javacript 3.1.1.1.2 、src 要引入的外部文件 src = " 路径 " 3.1.1.2、注意: 3.1.1.2.1、不可以使用单标。 3.1.1.2.2、不可以在引入了外部文件的标签中写代码。 3.1.2、代码 alert( " 每句话后面要写分号结束! " ) ; 3.1.3、  document.write( " 可以输出任何HTML的代码 " ); 3.2、JS与HTML的执行顺序 3.2.1、从上朝下,谁在前先执行谁,无特殊需求。 3.2.2、JS代码一般写在<head>与</head>中间,也可在html文件的任何地方。 3.2.3、可以出现多个JS标签。 3.3、JS的注释 3.3.1、单行注释 // 3.3.2、多行注释 /* */ 4、JS的数据类型,变量。 4.1、字面量、直接量。 程序中直接显示的数据 4.1.1、数字字面量 Number : 100 4.1.2、字符串字面量 String :" 张三 " 4.1.3、布尔字面量 Boolean : false / true 4.1.4、正则表达式字面量 : /abc/gi 4.1.5、对象字面量为空 Object : null 4.1.6、对象字面量表达式 Object :{x:1, y:2} 4.1.7、数组字面量表达式 Array :[1,2,3,4,5] 4.2、变量的定义 4.2.1、使用 var  var age;       //var 是关键字,age是变量名 4.2.2、 赋值:age = 20; 4.2.3、 定义的同时赋值: var age=20; 4.2.4、可以一次定义多个变量: var name=“zhangsan", age=18,weight=108; 4.2.5、JS是弱数据类型,容错性较高, 赋值后才确定数据类型 var temp;             // temp 时啥数据类型?不确定  temp = 12;             // temp 变量是数字类型 temp = “hello”;      // temp 变量变成了字符串类型 alert( typeof temp); // typeof 判断数据类型 4.2.6、关键字和保留字 4.2.7、标识符和命名规范 4.2.7.1、标识符 JS定义的符号,即:变量名、函数名等。 4.2.7.1.1、 标识符组成 任意的大小写字母、数字、下划线( _)和美元符 ( $)。 4.2.7.1.2、不能以数字开头。 4.2.7.1.3、不能有关键字和保留字。 4.2.7.1.4、区分大小写。 例:age和Age表两个不同的变量。 强烈不建议使用同一个单词的大小写区分两个变量。 4.7.2、变量的命名 4.7.2.1、匈牙利命名法。见名知意 4.7.2.2、驼峰命名法。 4.8、数据类型 4.8.1、Boolean:  布尔类型 4.8.2、Number:数值类型、数字(整数,浮点数float) 4.8.3、String:字符串类型 4.8.4、Array:数组类型 4.8.5、Object:对象类型 4.8.6、Null、Undefined:特殊类型 4.8.7、NaN:非数值类型 4.8.8、Function:函数类型 4.9、typeof typeof 操作符用来检测值或变量的数据类型。 返回类型有: undefined   未定义 boolean     布尔值 string         字符串 number       数值 object         对象、数组或者null  function     函数 array 数组 4.10、 Undefined 类型 4.10.1、只有一个值,undefined 。 4.10.2、使用 var 声明变量,无初始化,变量值为 undefined 。 例:var box; alert( box);//undefined 4.10.3、定义变量,声明的同时赋值 。 4.11、 Null 类型 只有一个值,null 。 表示一个空对象引用( 指针),而 typeof 操作符检测 null 会返回 object 。 例:var box = null; alert( typeof box); 4.12、Undefined 与 Null 的关系。 4.12.1、null (父母)派生 undefined(子女), ECMA-262 规定 当 undefined == null 即值相等时,则 返回 true。 4.12.2、数据类型不同。 null 返回是 Object类型 undefined 返回是 undefined 类型。 例:var box; var car = null; alert( typeof box == typeof car); // 值相等,类型不同 4.13、 Boolean 类型 4.13.1、两个值( 字面量):true和false。 true = 1,false = 0。 4.13.2、JS区分大小写,所以True 和 False 或者其他都不是 Boolean 类型的值。 例:var box = true; alert( typeof box); 4.12.3、Boolean 可以将一个值转换为 Boolean 值,可以使用转型函数Boolean()。 var hello = " Hello World! "; var hello2 = Boolean(hello); alert( typeof hello2); 4.12.3.1、Boolean 类型转换规则 String: 非空字符串为true,空字符串为false 。 Number: 非0数值为true,0或者NaN为false 。 Object: 对象不为null,则为 true,null为false 。 Undefined: undefined 为 false 。 4.13、Number 类型 包括:整型、浮点型。 4.13.1、整型 例:var box = 100; // 十进制整数 alert(box); 4.13.2、浮点类型 必须包含一个小数点,且小数点后面必须至少有一位数字 例:var box = 0.8; var box = .8; // 有效,不建议 5、运算符的简单使用。 5.1、算术运算符。 +(加)、-(减)、*(乘)、/(除)、%(取余,求模) 5.2、字符串和变量的拼接。 + 5.3、关系运算符。 >(大于)、<(小于)、>=(大于等于)、<=(小于等于)、 ==(等等于,值相同)、===(全等于,值和类型都相同)、 !=(不等于,值不同)、!== (不全等于,值和类型都不同) 5.4、逻辑运算符。 与(且)&&、或 ||、非 ! 5.5、赋值运算符。 +=(加等于)、-=(减等于)、*=(乘等于)、 /=(除等于)、%=(取余等于,求模等于 5.6、自增和自减。 ++a(先加)、a++ (后加) --a、a-- 5.7、类型转换 字符串转换数字类型:parseInt( )、parseFloat( ) parseInt( )       是把其它类型转换为整型; parseFloat( )  是把其它类型转换为浮点型(小数) 四舍五入Math.round(78.566)--->78 6、进制转换。 6.1、内存 就是大量的开关,每个开关, 可以存储一个1或0,称为一位(1bit), 每八位称为1字节( 1byte) 1byte = 8位  1KB  = 1024byte   1MB = 1024KB        1GB = 1024MB      1TB = 1024GB      ... 1PB, 1EB 1位:是二进制的0或者1 6.2、二进制: 0, 1 (0~1) 6.3、八进制: 0, 1, 2, 3, 4, 5, 6, 7 (0~7)     6.4、十进制: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (0~9) 6.5、十六进制: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (0~15) 6.6、进制的转换 6.6.1、常用值: 2的次方 2^2 = 4   2*2 2^3 = 8   2*2*2=8 2^4 = 16  2*2*2*2=16 2^5 = 32 2^6 = 64 2^7 = 128 2^8 = 256 2^9 = 512 2^10 = 1024 2^11 = 2048 6.6.2、2进制的转换 2进制:101011 转10进制:(从右往左) 1*2º + 1*2¹ + 0*2^2 + 1*2^3 +0*2^4 + 1*2^5 = 1+2+0+8+0+32 = 43 转8进制:(从右往左3个一组 101 011):53    转16进制:(从右往左4个一组 0010 1011):2B 6.6.3、10进制的转换 10进制:43 转2进制:32+8+2+1 = 101011 转16进制:32+11 = 2B 转8进制:40+3 = 53 6.6.4、8进制的转换 8进制:53 转10进制:5*8¹ + 3*8º = 43 6.6.5、16进制的转换 16进制:2B 转10进制:2*16¹ + 11*16º = 32+11 = 43 8进制和16进制转非10进制, 可以先转换成10进制,再由10进制转
转载请注明原文地址: https://www.6miu.com/read-73240.html

最新回复(0)