A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张分发 初级黑马   /  2019-12-16 12:22  /  921 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

转眼间几个月过去了 ,课程也从基础的htm css 转到 js,从静态页面转到动态页面,以及到现在的node 数据库,难度渐渐加大加深.
进入js阶段仿佛进入了一个新事件,相对于,htm,逻辑性更加强了,难度也在一步步加大,各种动画,效果,各种函数.
先简单说下js的作用:
  1.实现页面产品中的交互效果,例如:我选中那个一个图片,就展示对应的大图(选项卡思想),局部导航定位,轮播图等等,凡是能够操作交互的一般情况都是需要JS处理。
  2.把数据绑定到一个html页面中,我们通过JS中提供的技术,从后台服务器上获取所需要的数据,并且绑定在页面中呈现给用户,以后只需要后台把数据更改了,前端页面的数据会自动的跟着进行更改
3.用JS语言写服务器后台,进行文件处理,数据存储分析,业务逻辑处理等核心的操作(nodeJS);
Js的组成:
CMAScript(定义了JS的基本语法,命名规范,操作语句,变量,数据类型等最基础最核心的知识)
DOM(document object model 文档对象模型) 提供了JS操作页面上元素的常用属性和方法
BOM(browser object model 浏览器对象模型) 提供了JS操作浏览器的常用属性和方法
在学习js的过程中感觉解决bug的能力非常重要,有时候一个bug,就可以让你找几个小时,甚至是一天的时间,所以一定要学会快速的找到自己的错误在哪里,这是非常重要的能力,
1.有报错,代码也有问题:
报了什么错,报错信息中,就可以查看到bug的信息。
有报错,但代码确实没问题:
1.报了什么错,报错信息中,就可以查看到bug的信息
没有报错,没有结果:
1.反向查找
2.先确定当前结果,没有结果,向上一步,查看计算信息。
通用方式:逐行执行,配合console.log,打印1,或者当前变量或属性或值或信息
工具帮助找到定位bug的信息
打断点:让浏览器逐行执行代码
一些常见bug
2:Cannot set property ‘value’ of null at HTMLInputElement.obtn.onclick
无法将属性“value”设置为空在htmlinputelement.obtn.onclick
3: Cannot access ‘a’ before initialization
初始化前无法访问“a”
4:Identifier ‘a’ has already been declared
标识符“a”已声明
5:Invalid or unexpected token
无效或意外的标记
学了js我们的网站可以更加高级,可实现在浏览器上面修改数据,添加数据,可以批量的操作数据,可以实现一些好看的动画效果,比如,下拉栏,轮播图,淡入淡出效果,等一些看起来令人感觉非常舒服,精美的效果.
后面还学习了js的高级:面向过程与面向对象 可以帮助我们操作大型项目.
感觉里面最难理解的还是构造函数原型prototype ,感觉很绕,构造函数通过原型分配的函数是所有对象所共享的。
JavaScript 规定,每一个构造函数都有一个prototype 属性,指向另一个对象。注意这个
prototype就是一个对象,这个对象的所有属性和方法,都会被构造函数所拥有。
我们可以把那些不变的方法,直接定义在 prototype 对象上,这样所有对象的实例就可
以共享这些方法
第二个就是对象原型了,很难弄清楚,
对象都会有一个属性 __proto__ 指向构造函数的 prototype 原型对象,之所以我们对象
可以使用构造函数 prototype 原型对象的属性和方法,就是因为对象有 __proto__ 原型
的存在。
__proto__对象原型和原型对象 prototype 是等价的
__proto__对象原型的意义就在于为对象的查找机制提供一个方向,或者说一条路线,但是
它是一个非标准属性,因此实际开发中,不可以使用这个属性,它只是内部指向原型对象
Prototype
接下来 学的就是后端了 node.js.
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。 [1] 
Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。 [2]  发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。
现在学的是服务器 路由 还有数据库的增加删除 修改 查询.真正做到前后端的交互.学会了怎么在自己的电脑上面开启服务端,连接服务器,开启路等等.
以后是不是前后端就可以一个人干了 ,嘻嘻,
回想起之前一个人来到异地,希望自己所做的一切都是值得的,后面 还有很多要学的,希望自己再接再厉.

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马