javascript 高级程序设计 学习笔记01章 javascript的认知

hello world:

  大家早上好 ,所谓一年之计在于春,一日之计在于晨。今天开始学习 高级程序设计第三版 第二遍 以前以迅雷不及掩耳之势草草看过一遍 ,但是什么也没记住 已经忘得差不多了。哈哈,原来我不是黄蓉,也不是天才,还是那句话 好记性不如烂笔头。这次学习高级程序设计第三版 是有目标的,有目的性的。所以我会把 每一章学习的心得和笔记 都记录在此。于己于人都方便。废话不多说 ,开始吧 今天的第一张 ,javascript 的实现。张鑫旭大神说过 非it(计算机专业的)的前端从业人员 学习javascript 一定要系统的学习,怎么样系统的学习 ,第一点:要对javascript 有一个整体的 感性的认知,所以我们跟着这本小红书 来一步一步 一章一章慢慢啃。加油

  第一章是 javascript的实现:

  javascript 是什么?

  javascript的实现包括哪些?javascript有什么组成的?

  是我们首要搞清楚的问题!

  树上解释的 也很详细 ,

  javascript 是一门转为网页交互而设计的一门脚本语言 (动态类型的,弱类型的,灵活性的)而且随着web的发展 已经越来越重要 ,成为了一门真正的编程语言。尤其是h5,node和es6的到来 让javascript如虎添翼。有一统天下的气势。妈蛋 扯远了,言归正传。

  javascript = ECMAscript + DOM + BOM组成的;

  那什么是ECMAscript ? 是有由ecmascript262 规定的和描述的语言规则 我是这么理解的 规定和描述了 这门语言的 语法,类型,语句,值,保留字,操作符,对象,函数,等等...语言的重要组成部门的描述,在我的理解中 ecmascript就像是一个老板,而js更像是 一个员工 执行老板规定的任务和完成老板的要求和实现老板的想法 哈哈。但是ecmascript 其实是javascript的 一重要组成部份。是基于ecmascript 实现的脚本语言。

  那什么是 DOM (文档对象模型)document object model 提供了访问和操作文档网页内容的方法 和 接口。dom 也分为 dom1级 dom2级 dom3级

  dom1级 的目标是 映射文档的结构 主要是两个组成部分 :

  第一:dom核心,dom核心 主要是针对 xml 文档结构 提供了访问和操作 xml文档结构任意部门的方法和接口。

  第二:对dom核心的扩展 :针对 html 对象 ,提供了方法。

  dom2级 对dom1级进行了扩展 主要增加了 新的接口和属性:

  1. dom视图 :跟踪文档变化的接口

  2. dom事件 :提供了为 dom树(dom节点元素)绑定事件的方法 和 接口。w3c和ie 有兼容问题。

  3. dom样式 :提供了为dom元素 添加css样式的 方法 和 接口。

4. dom遍历 和 dom范围 : 提供了为遍历dom树 和 dom范围的 相关api。

  总之就是操作dom的方法 变多了 嘿嘿。

  dom3级  进一步扩展dom 支持 xml 1.0 的规范。

  现在的主流浏览器 对 dom的支持 已经算是 大同小异了 。有的兼容问题 还是有待解决。

  那什么 又是 BOM?浏览器对象模型

  BOM提供了 对浏览器网页内容以外的 访问和操作 提供了 方法和接口。

  主要有以下的 功能:

  1. 监听浏览器的前进后退按钮,

  2.通过navigator.userAgent 判断浏览器版本,

  3.通过location对象 获取网页地址栏和来源的 详细信息,

  4.通过screen对象 算出用户显示器的 分辨率

  5.弹出新窗口,

  6.对浏览器窗户口 进行移动 缩放 关闭浏览器的功能。

  7.cookies对象的操作,

  8.xmlrequesthttp 和 ie 的 activeXobject 对象的 操作。......等

  在h5以前 根本没有对BOM的相关标准的规定。直到h5的出现 BOM被纳入了 规定的范围之内 。所以 其实BOM还是 有很多坑点的 。

  以上就是 javascript 的实现和 组成部分。今天就先到这里吧,相信大家对javascript  已经有一个大楷的认知了 ,接下来我们开始步入javascript的 殿堂吧 。加油 GO

  

  

  

时间: 2024-11-03 01:33:12

javascript 高级程序设计 学习笔记01章 javascript的认知的相关文章

JavaScript高级程序设计学习笔记 01

纯属个人笔记,全为原创,仅供参考 第一章 JavaScript简介 JavaScript 诞生于1995年.它是在 一个星期内 被创造出来,用于处理以前由服务器端语言(如PERl)负责的一些 输入验证操作.由于这是在 客户端验证,极大地缩短了服务器端验证表单的速度.自此以后,JavaScript逐渐成为了市面上常见浏览器必备的一项特色功能.如今JS用途早已不再局限于简单的数据验证,而是具备了与 浏览器窗口及其内容等几乎所有方面交互的能力. -1.1 JavaScript简史 由于当时 网速局限 

javascript 高级程序设计 学习笔记02章 script元素的认知

hello world: 这一章的主要内容是 学习对 script 元素的 主要功能 和 使用 script 元素 是我们用来 载入javascript 脚本代码的 主要方式,是浏览器厂商为了 统一脚本代码的嵌入 而 创造的元素.我来看看 script元素 有哪些功能和属性吧. html 规范 为script元素 定义了6大属性: 1. scr 属性(可选)  这个属性主要目的是 通过src 指定外部脚本文件的文件地址,从而把外部文件里的脚本代码嵌入到html页面当中来.如果用了src指定外部脚

JavaScript高级程序设计学习笔记第二章

1.向 HTML 页面中插入 JavaScript 的主要方法,就是使用<script>元素 2.HTML 4.01中定义了<script>元素的六个属性(方便记忆,可将6个属性分为3组) 第一组: async:可选.表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本.只对外部脚本文件有效.(使用<script>不属于外部脚本) defer:可选.表示脚本可以立即下载,但是延迟到文档完全被解析和显示之后再执行.只对外部脚本文件有效. 第

JavaScript高级程序设计学习笔记第九章--客户端检测

1.能力检测:能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力.(我的理解就是识别浏览器能做什么不能做什么) 2.怪癖检测:目标是识别浏览器的特殊行为.但与能力检测确认浏览器支持什么能力不同,怪癖检测是想要知道浏览器存在什么缺陷(“怪癖”也就是 bug). 3.用户代理检测:争议最大的一种客户端检测技术.用户代理检测通过检测用户代理字符串来确定实际使用的浏览器.在每一次 HTTP 请求过程中,用户代理字符串是作为响应首部发送的,而且该字符串可以通过 JavaScript 的 naviga

JavaScript高级程序设计学习笔记--高级技巧

惰性载入函数 因为浏览器之间行为的差异,多数JavaScript代码包含了大量的if语句,将执行引导到正确的代码中,看看下面来自上一章的createXHR()函数. function createXHR(){ if (typeof XMLHttpRequest != "undefined"){ return new XMLHttpRequest(); } else if (typeof ActiveXObject != "undefined"){ if (typeo

JavaScript高级程序设计学习笔记--基本概念

1.语句 ECMAScript中的语句以一个分号结尾:如果省略分号,则由解析器确定语句的结尾,如下例所示: var sum=a+b //即使没有分号也是有效的语句--推荐 var diff=a-b; //有效的语句--推荐 虽然语句结尾的分号不是必需的,但我们建议任何时候都不要省略它.两个原因:1.加上分号可以避免很多错误 2.加上分号也会在某些情况下增进代码的性能,因为这样解析器就不必再花时间 推测应该在哪里插入分号了. 2.变量 var message="hi"; 像这样初始化变量

JavaScript高级程序设计学习笔记--错误处理与调试

try-catch语句 只要代码中包含finally子句,则无论try或catch语句块中包含什么代码--甚至return语句,都不会阻止finally子句的执行,来看下面这个函数: function testFinally(){ try{ return 2; }catch(error){ return 1; }finally{ return 0; } } 调用这个函数会返回0(PS:但我实际执行的时候会先返回0,再返回2) 抛出错误 与try-catch语句相配的还有一个throw操作符,用于

JavaScript高级程序设计学习笔记--面向对象程序设计

工厂模式 虽然Object构造函数或对象字面量都可以用来创建单个对象,但这些方式有个明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码.为解决这个问题,人们开始使用 工厂模式的一种变体. function createPerson(name,age,job){ var o=new Object(); o.name=name; o.age=age; o.job=job; o.sayName=function(){ alert(this.name); }; return o; } var

Javascript高级程序设计学习笔记

3. 基本概念 基本数据类型:Undefined,Null,Boolean,Number,String. 复杂数据类型:Object. 3.6 语句 switch比较值时用的是全等运算符 “===” ,因此不会进行类型转换.例如 “10” 不等于10. 3.7 函数 ECMAScript函数不介意传递进来多少个参数,也不在乎参数的类型.即使定义的函数只接受两个参数,在调用的时候也可以传递任意多个或者0个.因为ECMAScript的参数在内部是用一个数组表示的,在函数体内部可以通过argument