JS 精粹(三)】的更多相关文章

(一)基本问题 JS的数据类型(不是数据结构)分:简单数据类型(undefined\null\boolean\string\number\symbol).复杂数据类型(object). 对象是可变的键值对的集合,最关键是对象是无类型(class-free)的,也就是说对于新的属性值类型没有要求.属性名可以是name(标识符).string(包括空字符串),很适合各类数据管理.最牛逼的机制是对象之间的非传统意义上的继承或是说委托更好一些:可以减少对象初始化的时间和内存.而且这是一种不同于类的新的编…
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前端总结·基础篇·JS(二)数组深拷贝.去重以及字符串反序和数组(Array) 前端总结·基础篇·JS(三)arguments.callee.call.apply.bind及函数封装和构造函数 目录 一.函数使用 1.1 函数声明和函数表达式 1.2 函数封装(自调用函数.闭包) 1.3 函数属性(a…
JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECMAScript() DOM(文档对象模型document) BOM(浏览器对 象模型) ECMAScript:语法 变量和数据类型 运算符 逻辑控制语句 关键 字.保留字 对象 4.基本结构:<script type="text/javascript"> 语句 </scr…
HTML5+CSS: HTML中应用CSS的三种方法 一.内联 内联样式通过style属性直接套进HTML中去. 示例代码 <pstylepstyle="color:red">text</p> 这将会是指定的段落变成红色.我们的建议是,HTML应该是独立的.样式自由的文档,所以内联样式无论在什么情况下都应该尽量避免. 二.内部 内部样式服务于整个当前页面.在头标签head里面,样式标签style里包含当前页面的所有样式. 示例代码 <!DOCTYPEhtm…
js加载时间线 : 它是根据js出生的那一刻开始记录的一系列浏览器按照顺序做的事,形容的就是加载顺序,可以用来优化什么东西,理论基础,背下来. 1.创建Document对象,开始解析web页面.解析HTML元素和他们的文本内容后添加Element对象和Text节点到文档中.这个阶段document.readyState = 'loading'.(生成document对象,document状态位变为loading) 2.遇到link外部css,创建线程加载,并继续解析文档. 3.遇到script外…
Jquery动态加载js的三种方法如下: 第一种: $.getscript("test.js"); 例如: <script type="text/javascript"> $(function() { $('#loadButton').click(function(){ $.getScript('new.js',function(){ newFun('"Checking new script"'); }); }); }); </…
js中三种定义变量的方式const, var, let的区别 1.const定义的变量不可以修改,而且必须初始化. 1 const b = 2;//正确 2 // const b;//错误,必须初始化 3 console.log('函数外const定义b:' + b);//有输出值 4 // b = 5; 5 // console.log('函数外修改const定义b:' + b);//无法输出 2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错. 1 var a =…
玩转Node.js(三) 上一节对于Nodejs的HTTP服务进行了较为详细的解析,而且也学会了将代码进行模块化,模块化以后每个功能都在单独的文件中,有利于代码的维护.接下来,我们要想想如何处理不同的HTTP请求,而这个处理不同的HTTP请求的东东,就是传说中的路由选择. 路由之说 首先,我们需要清楚的知道,我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码. 因此,我们需要查看HTTP请求,从中提取出请求的URL以及GET/POST参数.这一…
js获取三天后的日期 setDate getNowAddTreeFormatDate() { var date = new Date(); date.setDate(date.getDate()+3);//获取3天后的日期 var seperator1 = "-"; var seperator2 = ":"; var month = date.getMonth() + 1; var monthStr:string; var day = date.getDate();…
前言 上一章我们介绍了关于Vue实例中一些基本用法,但是组件.自定义指令.Render函数这些放到了本章来介绍,原因是它们要比前面讲的要难一些,组件是Vue.js最核心的功能,学习使用组件也是必不可少的知识点. Vue实例属性和方法 在我们学习组件之前,更深入的了解下Vue实例,它除了data数据对象属性外,Vue实例还暴露了一些有用的实例属性和方法,它们都有前缀$,以便与用户定义的属性区分开来,详细适用方法可以查阅官方API文档. 实例属性: vm.$data:类型Object,Vue 实例观…
js的三种异步处理   Promise 对象 含义: Promise是异步编程的一种解决方案, 优点: 相比传统回调函数和事件更加合理和优雅,Promise是链式编程(后面会详细讲述),有效的解决了令人头痛的回调地狱问题,Promise的结果有成功和失败两种状态,只有异步操作的结果,可以决定当前是哪一种状态,外界的任何操作都无法改变这个状态 基本用法: //ES6 规定,Promise对象是一个构造函数,用来生成Promise实例. const p = new Promise(function(…
1.内部js: 在直接在页面的<script></script>标签内写js代码 优点:相对于使用行内js,内部js代码较为集中,与页面结构的实现代码耦合度较低,比较便于维护 缺点:js代码仅限于当前页面的使用,代码无法被多个页面重复使用,导致代码冗余度较高 2.外部js: 引入外部的js文件(推荐使用) 优点:1.页面代码跟js代码实现有效分离,降低耦合度 2.便于代码的维护和扩展 3.有利于代码的复用 3.行内js: 直接嵌套在html的语句 开发中不推荐这种方式, (1)因为…
JS高级---三种创建对象的方式 字面量的方式 (实例对象) 调用系统的构造函数 自定义构造函数方式 //创建对象---->实例化一个对象,的同时对属性进行初始化 var per=new Person("小红",20); 自动逸构造函数创建对象做的事情:   1.开辟空间存储对象   2.把this设置为当前的对象   3.设置属性和方法的值   4.把this对象返回 //实例对象 var per1 = { name: "小明", age: 20, sex:…
[转] 第一种,prototype的方式: //父类 function person(){ this.hair = 'black'; this.eye = 'black'; this.skin = 'yellow'; this.view = function(){ return this.hair + ',' + this.eye + ',' + this.skin; } } //子类 function man(){ this.feature = ['beard','strong']; } ma…
这章主要讲语法,DC使用了表示形式语法的巴克斯范式图,这的确比语言来得准确简洁.我只想表达一个问题:表达式与表达式语句的关系.因为其他问题很明白. 从DC的巴科斯范式图上大致可以认为,表达式是比表达式语句宽泛的.DC的子集中表达式语句是表达式的真子集. 表达式语句主要用于单个或多个标识符赋值.函数或方法调用.删除对象的属性,语法开头是标识符. 表达式:字面量.标识符.加上圆括号的表达式.prefix+expression.expression+infix+expression.expressio…
[函数的声明格式] 1.函数的声明格式: function 函数名(参数1,参数2,...){ 函数体代码 return 返回值: } 函数的调用: ① 直接调用:函数名(参数1的值,参数2的值,....); ② 时间调用方式:直接在html标签中,使用事件名="函数名()" <button ondblclick="saySth('哈哈哈','yellow')">点击按钮,打印内容</button> 2.函数的注意事项: ① 函数名必须符合小…
上周介绍了JS中两个比较重要的东西,循环和函数,这周再给大家介绍一下BOM和DOM 一.BOM 1.首先来说一下什么是BOM,BOM即浏览器对象模型,说白一点就是与浏览器进行的交互的对象模型. 2.BOM中的对象: (1).screen对象:可以获取到屏幕的宽度.高度.可用宽度和可用高度 (2).location对象:取到浏览器的URL地址信息 >>>完整的URL路径:协议名://主机名(IP地址):端口号/文件所在路径?传递参数(name1=value1&name2=value…
WebStorm下的node.js 一.回顾与继续       在前面,我们知道了node.js的基本框架和思路,在这些原生环境下我们对node.js的设计思想有了比较深刻的认识,并且具有了编写大型程序的能力了,但是程序的代码可能会比较拉杂,因此,我们就需要用到现有的框架了,在我们的社会上,不需要造太多的轮子,而需要在更高层次上去设计'车',因此使用别人做好的模板去完成自己的业务是一个比较节省时间并且有创造性的事情,在node.js中我们有太多的轮子,比如说express框架,为我们提供了封装好…
工作中经常会碰到要把2个或多个字符串连接成一个字符串的问题,在JS中处理这类问题一般有三种方法,这里将它们一一列出顺便也对它们的性能做个具体的比较. 第一种方法  用连接符“+”把要连接的字符串连起来: str="a"; str+="b"; 毫无疑问,这种方法是最便捷快速的,如果只连接100个以下的字符串建议用这种方法最方便. 第二种方法  以数组作为中介用 join 连接字符串: var arr=new Array(); arr.push(a); arr.push…
  一.前言     浏览器本身并不提供模块管理的机制,过去网页开发中,为了使用各种模块,不得不在加入一大堆script标签.这样就使得网页体积臃肿,难以维护,还产生大量的HTTP请求,拖慢显示速度,影响用户体验.为了解决这个问题,前端的模块管理器应运而生.它可以轻松管理各种JavaScript脚本的依赖关系,自动加载各个模块,使得网页结构清晰合理. 最早的模块管理器是RequireJs,可以实现异步加载模块,之后出现了Brower.component.seaJs,还有模块化组织工具webpac…
javascript的三种对话框是通过调用window对象的三个方法alert(),confirm()和prompt()来获得,可以利用这些对话框来完成js的输入和输出,实现与用户能进行交互的js代码. 今天小编就来简单介绍一下js中的三种弹出对话框,小编先单独对这几个方法进行详细讲解,接着,将这几个方法进行对比,好了,开始我们的js之旅吧`(*∩_∩*)′...... 第一种:alert()方法 alert()方法是这三种对话框中最容易使用的一种,她可以用来简单而明了地将alert()括号内的…
总结:js三个组成部分ES:语法DOM:对象模型 => 通过js代码与页面文档(出现在body中的所有可视化标签)进行交互BOM:对象模型 => 通过js代码与浏览器自带功能进行交互 引入方式行间式 数显早标签中的全局事件属性中 this 代表该标签 可以访问全局属性 再访问具体操作对象(eg:this.style.color="red") 内联式出现在script脚本标签中可以通过标签的id 唯一标识,在js代码块中操作页面标签js采用的是小驼峰命名规范,属于解释性语言(…
一.介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第三篇(灵魂篇介绍),有着剩下的第三章的知识内容. 红宝书这本书可以说是难啃的,要看完不容易,挺厚的,要看懂更不容易,要熟练js更是难,中间需要不断的积累与重温. 本书不是读一两遍就能把这书吃透,需要多读,可谓温故而知新,可以为师矣. 很多人看这些厚的书都是三天打鱼两天晒网,很少能看下去,能记住的东西往往前3章的内容,所以我写博客就是为了能和大家一起来读这本书,一起学JS. 二.基本概念(灵魂篇) 上一篇是躯壳篇讲的是一些了…
这篇文章主要是对前两篇关于ajaxfileupload.js插件的文章 <ASP.NET 使用ajaxfileupload.js插件出现上传较大文件失败的解决方法(ajaxfileupload.js第一弹)> <jQuery 关于ajaxfileupload.js插件的逐步解析(ajaxfileupload.js第二弹)> 的一个收关.但是最初也是因为想做这么一个功能,一点一点的引发出了好多问题,不断去学习,研究,才写了这三篇. 早些时候已经实现了上传头像的功能,但是代码却是零零散…
在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Literals): var fnMethodName = function(x){alert(x);} Function()构造函数: var fnMethodName = new Function(‘x','alert(x);') // 由Function构造函数的参数个数可变.最后一个参数写函数体…
JS中,可以将对象分为“内部对象”.“宿主对象”和“自定义对象”三种. 1,内部对象 js中的内部对象包括Array.Boolean.Date.Function.Global.Math.Number.Object.RegExp.String以及各种错误类对象,包括Error.EvalError.RangeError.ReferenceError.SyntaxError和TypeError. 其中Global和Math这两个对象又被称为“内置对象”,这两个对象在脚本程序初始化时被创建,不必实例化这…
经常遇到网页在登录后会对用户输入的帐号和密码通过js进行加密,导致模拟登录这类网站时受到阻碍 这里小记一下当前解决该问题的三种方法 1.利用python实现js同等加密. 2.利用selenium模拟登录. 3.利用pyexecjs来执行js文件 测试站点:http://bbs.125.la/ 登录时通过浏览器F12发现该网站对密码进行了加密 进一步分析和查找,发现是名为md5.js?RFI文件进行了加密 尝试用第一种方法,但是发现此文件内容较多,通过python转换相应程序较为复杂,因此放弃…
js代码: <script> // var num1 = 32, // num2 = 43, // num3 = 98; // if (num1 > num2) { // if (num1 > num3) { // alert(num1); // } else { // alert(num3); // } // } else { // if (num2 > num3) { // alert(num2); // } else { // alert(num3); // } //…
js最常见的三种输出语句 1.console.log()这个语句是在浏览器控制台输出的.进入网页点击f12可查看 2.alert()弹出一个对话框, 3.document.write这个语句是在页面输出 html的执行顺序: 1.解析html结构,浏览器的一个解析器  解析标签,从上到下 2.引入样式文件和脚本文件js文件 3.解析和执行脚本代码------浏览器中的js引擎的 4.加载图片(视频和音频)资源 5.加载css的样式代码 6.执行window.onload操作 所有文档加载完成之后…
1 <form> 2 <!-- 按钮选择点击 --> 3 <tr> 4 <td><input type="button" name="btn2" id="btn2" value="删除" 5 onclick="return confirm('Yes/No')"></td> 6 </tr> 7 8 <form> 1…