首页 文章 精选 留言 我的

精选列表

搜索[前端性能],共10000篇文章
优秀的个人博客,低调大师

前端学习笔记(2) - JavaScript面向对象

javaScript是不是面向对象语言? JavaScript(es6之前)有对象的概念,却没有类的概念,JavaScript对象可以任意添加属性,而java、c++等其他语言却不能。以至于有些人认为JavaScript并非是面向对象的语言,而是基于对象的语言。 实际上JavaScript无疑是面向对象的语言,只不多例如java、c++等语言才用的是“类”的方式来描述对象,这也是最为成功的描述对象方式。但是javaScript采用的较为冷的原型来描述对象的方式。但是由于某些原因JavaScript在原型运行时的基础上加入了例如new、this等语言特性使其看起来更像java。 基于原型的面向对象 “基于类”的编程提倡使用一个关注分类和类之间关系开发模型。在这类语言中,总是先有类,再从类去实例化一个对象。类与类之间又可能会形成继承、组合等关系。类又往往与语言的类型系统整合,形成一定编译时的能力。 “基于原型”的编程看起来更为提倡程序员去关注一系列对象实例的行为,而后才去关心如何将这些对象,划分到最近的使用方式相似的原型对象,而不是将它们分成类。基于原型的面向对象系统通过“复制”的方式来创建新对象。一些语言的实现中,还允许复制一个空对象。这实际上就是创建一个全新的对象。JavaScript的原型对象实现方式并不是真的去复制一个对象,而是使新对象持有一个原型对象的引用。 JavaScript的原型系统其实概括起来如下: 如果所有对象都有私有字段 [[prototype]],就是对象的原型; 读一个属性,如果对象本身没有,则会继续访问对象的原型,直到原型为空或者找到为止。 这个模型在 ES 的各个历史版本中并没有很大改变,但从 ES6 以来,JavaScript 提供了一系列内置函数,以便更为直接地访问操纵原型。三个方法分别为: Object.create 根据指定的原型创建新对象,原型可以是 null; Object.getPrototypeOf 获得一个对象的原型; Object.setPrototypeOf 设置一个对象的原型。 基于类的面向对象 在es6的新语法中引入了class关键字,并从标准中删除了所有与[[class]]相关的私有属性,new与function的怪异搭配终于可以退休了。基于类的面向对象正式成为JavaScript官方的编程范式。(JavaScript中基于类的面向对象编程实际上是基于原型面向对象编程的语法糖) class Animal { constructor(name) { this.name = name; } speak() { console.log(this.name + ' makes a noise.'); } } class Dog extends Animal { constructor(name) { super(name); // call the super class constructor and pass in the name parameter } speak() { console.log(this.name + ' barks.'); } } let d = new Dog('Mitzie'); d.speak(); // Mitzie barks.

优秀的个人博客,低调大师

简单优化前端工程几种方式(上篇)

使用CDN 如果A网站和B网站, 同时使用了 https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js的资源, 在访问其他网站A时, 浏览器会缓存jquery.min.js资源文件, 访问网站B时,就可以免于下载jquery.min.js的文件, 这样既节省了服务器流量, 又提升了资源加载的速度, 一举两得~ 减少网络请求 使用雪碧图(用Photoshop将多个icon拼接到一张图上) 将多个js文件合并压缩为单个js文件(使用Webpack,或在线工具) 减少图片尺寸 可以使用PP鸭一键压缩, 具体介绍: PP鸭为你的图片瘦瘦瘦身 (支持快速压缩jpg, png, gif三种格式) 将图片保存为渐进式jpg 将图片保存为渐进式jpg后, 图片在浏览器显示时, 可以由模糊到清晰渐进式加载, 提升用户体验 将javascript脚本放到html的底部 HTML文件是从上往下渲染的, 如果js脚本有大量耗时操作, js执行期间, 用户是不能看到页面的 mdn的解释链接: https://developer.mozilla.org/zh-CN/docs/Learn/Getting_started_with_the_web/JavaScript_basics 一般我们会把css样式文件放在html的头部, javascript脚本文件放在页面底部, 但什么事情都有特例, 比如bootstrap的部分组件依赖jquery,也就是jquery必须在bootstrap之前引入, 如果我们要在页面头部引入bootstrp样式的话, 那jquery也必须放到了页面的头部!

优秀的个人博客,低调大师

【原】jQuery easyUI 快速搭建前端框架

jQueryEasyUI jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。 这里我们使用easyUI搭建一个简单的页面框架,非常简单! 效果如此: 需要引入的最少的文件 3个js文件是必须的 文件下载链接:http://www.jeasyui.net/download/ 注意:easyui从1.2.3版本之后开始收费了 创建一个html: 引入js以及要用到的样式 注意,由于ezUI是依赖jQuery的,所以引用的顺序一定是jQuery的js在easyUI的js之前!!! demo1_layout.html: <!DOCTYPE HTML> <html> <head> <title>demo layout</title> <script type="text/javascript" src="jquery-1.8.0.min.js"></script> <script type="text/javascript" src="jquery.easyui.min.js"></script> <script type="text/javascript" src="easyui-lang-zh_CN.js"></script> <link rel="stylesheet" type="text/css" href="themes/icon.css"></link> <link rel="stylesheet" type="text/css" href="themes/default/easyui.css"></link> </head> <body> </body> </html> (从我的路径可以看出,我的html文件和jQuery的js是平级关系) 完整代码: <!DOCTYPE HTML> <html> <head> <title>demo layout</title> <!-- 引入jQuery的js --> <script type="text/javascript" src="jquery-1.8.0.min.js"></script> <!-- 引入jQuery easyUI的js --> <script type="text/javascript" src="jquery.easyui.min.js"></script> <!-- 引入 国际化的js --> <script type="text/javascript" src="easyui-lang-zh_CN.js"></script> <!-- 引入图片样式 --> <link rel="stylesheet" type="text/css" href="themes/icon.css"></link> <!-- 引入默认样式 --> <link rel="stylesheet" type="text/css" href="themes/default/easyui.css"></link> </head> <body> <!-- 使用easyui的layout布局 --> <div class="easyui-layout" data-options="fit:true"> <!-- easyui在data-options配置配置 --> <!-- 只有center区域是必须的 --> <div data-options="region:'east',title:'东部'" style="width:200px;">东部</div> <div data-options="region:'west',title:'西部'" style="width:200px;"> <!-- 可折叠面板accordion --> <!-- fit 属性,使得当前div大小占满 父容器 --> <div class="easyui-accordion" data-options="fit:true"> <!-- 每一个div就是一个面板 --> <!-- 通过iconCls设置图标,找icon.css中定义的类 --> <div data-options="title:'基本功能',iconCls:'icon-mini-add'">可折叠面板1</div> <div data-options="title:'高级功能',iconCls:'icon-mini-add'">可折叠面板2</div> <div data-options="title:'管理员功能',iconCls:'icon-mini-add'">可折叠面板3</div> </div> </div> <div data-options="region:'south',title:'南部'" style="height:100px;">南部</div> <div data-options="region:'north',title:'北部'" style="height:100px;">北部</div> <div data-options="region:'center',title:'中部'"> <!-- 选项卡tab 面板 --> <div class="easyui-tabs" data-options="fit:true"> <!-- 这里的每一个div就是一个选项卡 --> <div data-options="title:'tab1'">tab标签面板1</div> <!-- closable 可关闭 --> <div data-options="title:'tab2',closable:true">tab标签面板2</div> <div data-options="title:'tab3',closable:true">tab标签面板3</div> <div data-options="title:'tab4',closable:true">tab标签面板4</div> </div> </div> </div> </body> </html> 转载请注明:https://www.cnblogs.com/1906859953Lucas/p/9212852.html

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册