Objects have the ability to use data and methods that other objects contain, as long as it lives on the [prototype] chain. In this lesson we’ll test this out by adding properties and working with this linkage of properties. const obj = {firstName: 'T…
这篇文章拖了有两周,今天来跟大家聊聊 JavaScript 中一类特殊的对象 -> Array-Like Objects. (本文节选自 underscore 源码解读系列文章,完整版请关注 https://github.com/hanzichi/underscore-analysis) Array-Like JavaScript 中一切皆为对象,那么什么是 Array-Like Objects?顾名思义,就是像数组的对象,当然,数组本身就是对象嘛!稍微有点基础的同学,一定知道 argument…
作者:苏墨橘链接:https://www.zhihu.com/question/34183746/answer/59043879来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 正好这段时间在重新看这部分,写一篇回答来梳理一下吧. __proto__(隐式原型)与prototype(显式原型) 1.是什么 显式原型 explicit prototype property: 每一个函数在创建之后都会拥有一个名为prototype的属性,这个属性指向函数的原型对象.No…
知识要点 1.客户端javascript window对象是所有客户端javascript特性和API的主要接入点.它表示web浏览器的一个窗口或窗体,并且可以用window表示来引用它.window对象定义了一些属性,比如:Location对象的location属性,Location对象指定当前显示在窗口的URL,并允许脚本往窗口里载入新的URL. //设置location属性,跳转至新的页面 window.location = "https://www.baidu.com" win…
JavaScript 数据访问(通译自High Performance Javascript 第二章)   JavaScript 数据访问(翻译自High Performance Javascript 第二章) 计算机科学中一个经典的问题是决定如何存储数据,以便进行快速的读取和写入操作. 在代码执行期间,数据如何存储将会关系到它们的检索速度.在Javascript中,由于只存在少数的操作来进行数据存储, 这个问题似乎 变得简单了.但是,与其他语言一样,Javascript中数据的存储方式将决定它…
illustrating javascript prototype & prototype chain 图解 js 原型和原型链 proto & prototype func; // ƒ func (name) { // this.name = name || `default name`; // } // 构造函数具有一个 prototype 属性, func.prototype; // {constructor: ƒ} // 构造函数的 prototype 属性指向该构造函数的原型对象…
一.闭包(Closure) 1.1.什么是闭包? 理解闭包概念: a.闭包是指有权限访问另一个函数作用域的变量的函数,创建闭包的常见方式就是在一个函数内部创建另一个函数,也就是创建一个内部函数,创建一个闭包环境,让返回的这个内部函数保存要引用的变量,以便在后续执行时可以保持对这个变量的引用. b.只要存在调用内部函数的可能,JavaScript就需要保留被引用的函数.而且JavaScript运行时需要跟踪引用这个内部函数的所有变量,直到最后一个变量废弃,JavaScript的垃圾收集器才能释放相…
文章的开始先上张图: 图片拍摄自北京图书大厦,代表着现在国内应该是绝大部分书店的现状--Javascript书籍放在Java类当中.甚至很多业内人也一直认为Javascript是Java语言在浏览器内的实现.不过也可以理解,谁让Javascript起了这么一个名字呢~   今天咱们就来聊聊Javascript的历史~~~~ 一.起源--ScriptEase 故事的开端在1992年,当时,一个叫Nombas的公司开发了叫做C减减(C minusminus,Cmm)的嵌入式脚本语言,其目标在于带来一…
<script>元素 向HTML页面中插入Javascript的主要方法,就是使用<script>元素,<script>元素有六个属性: async:可选.表示应该立即下载脚本,但不妨碍页面的其他操作,比如下载其他资源或等待加载其他脚本,只针对外部脚本有效. defer:可选.表示脚本可以延迟到文档完全被解析和显示之后再执行.只针对外部脚本有效. src:可选.表示包含要执行代码的外部文件. type:可选.表示编写代码使用的脚本语言内容类型.默认为text/javas…
本文主要包括以下几方面内容: 1)使用<script>元素 2)嵌入脚本和外部脚本 3)文档模式对JavaScript的影响 4)考虑禁用JavaScript的场景 只要一提到把Javascript放到网页中,就不得不涉及Web的核心语言----HTML.在开发JavaScript的时候,Netscape要解决的一个重要问题就是如何做到让JavaScript既能与HTML页面共存,又不影响那些页面在其他浏览器中的程序效果.最终决定就是为Web增加统一的脚本支持.因此web早期的很多语法都保留了…
原文 一. 序言 最近我在读一本书:<你不知道的JavaScript>,这书分为上中卷,内容非常丰富,认真细读,能学到非常多JavaScript的知识点,希望广大的前端同胞们,也入手看看这本书,受益匪浅. <你不知道的JavaScript上卷> 现在我读完这本书的一些心得与总结: 很多人在做项目时候,遇到bug是我们程序猿最令人头疼的一件事,不过,无论多大多小的bug,都会被我们debug,所以,一切的bug都有原因,只要慢慢静下心来细想想这段代码的流程结构是否正确,哪一步骤出了错…
 11.强制转换 强制转换主要指使用Number.String和Boolean三个构造函数,手动将各种类型的值,转换成数字.字符串或者布尔值. 1>Number强制转换 参数为原始类型值的转换规则: 原始类型的值主要是字符串.布尔值.undefined和null,它们都能被Number转成数值或NaN. NaN:not a number,当数学计算得不到数字结果时,该值就是NaN(Number类型). isNaN:判断变量是否为NaN. Number(324) 值:324 字符串如果可以被解析为…
1:定义:javascript是一种弱类型.动态类型.解释型的脚本语言. 弱类型:类型检查不严格,偏向于容忍隐式类型转换. 强类型:类型检查严格,偏向于不容忍隐式类型转换. 动态类型:运行的时候执行类型检查. 静态类型:编译的时候就知道每个变量的类型. 解释型:程序不需要编译,程序在运行的时候才翻译成机器语言,每执行一次都要翻译一次,因此效率比较低,但是跨平台性好. 编译型:程序在执行之前需要一个专门的翻译过程,把程序编译为机器语言的文件,运行时直接使用编译的结果就行了. 标记语言:标记语言的存…
1:ASP.NET 前台Javascript调用后台代码 1.1:前台Javascript <script> function CallCs() { var str = "<%=GetStr()%>"; alert(str); } </script> <input type="button" name="btnClick" value="js调用后台代码" onclick="…
这篇文章介绍了javascript跟随滚动效果插件代码(javascript Follow Plugin),有需要的朋友可以参考一下Js 跟随滚动效果插件支持定义多个跟随ID,采用css fixed属性,不支持ie6,兼容其他主流浏览器.支持定义滚动到底部的最小高度,不会覆盖底部页面大小resize后,插件会自动重置参数=======Js 跟随滚动效果插件1.支持定义多个跟随ID,采用css fixed属性,不支持ie6,兼容其他主流浏览器.2.支持定义滚动到底部的最小高度,不会覆盖底部3.页面…
本文概述 本文介绍2013年人气急速上升,2014年必须知道的JavaScript框架排名.本文所介绍的排名为Google根据全世界2013年的搜索关键词所做出的统计结果. MVC框架 JavaScript的MVC框架中人气最高的为以下四个. AngularJS Backbone.js Ember.js Knockout.js(严格来说并不是MVC框架,而是MVVM(Model -View-ViewModel)框架) 其中AngularJS的人气明显超越其他三者,2014年要学习MVC框架者不妨…
如今HTML5 移动应用或 Web app 中越来越普遍的使用了离线浏览技术,所以用 JavaScript 检测浏览器在线/离线状态非常常见. 无论浏览器是否在线,navigator.onLine 属性都会提供一个布尔值. 如果浏览器在线,则设置为 true ,否则设置为 false . if(navigator.onLine) { // true|false // ... } online 和 offline 事件: 当浏览器脱机或上线时,浏览器还支持 online 和 offline 事件.…
一.对象 对象可以通过两种形式定义:声明(文字)形式和构造形式.即: var myObj = { key: value // ... }; 或: var myObj = new Object(); myObj.key = value; 对象还有一些内置对象: String.Number.Boolean.Object.Function.Array.Date.RegExp.Error. 访问对象属性可以使用. 操作符(属性访问)或者[] 操作符(键访问),区别在于:于. 操作符要求属性名满足标识符的…
1.JavaScript基础教程 1.1.Javascript基础-介绍.实现.输出 1.1.1.JavaScript是互联网上最流行的脚本语言,这门语言可用于web和HTML,更可广泛用于服务端.pc端.移动端. 1.1.2.JavaScript脚本语言 JavaScript是一种轻量级的编程语言 JavaScript是可插入HTML页面的变成代码 JavaScript插入HTML页面后,可由所有的浏览器执行 1.1.3.JS用法: HTML中的脚本必须位于<script></scri…
原文请查阅这里,略有改动,本文采用知识共享署名 4.0 国际许可协议共享,BY Troland. 本系列持续更新中,Github 地址请查阅这里. 这是 JavaScript 工作原理的第六章. 现在,我们将会剖析 WebAssembly 的工作原理,而最重要的是它和 JavaScript 在性能方面的比对:加载时间,执行速度,垃圾回收,内存使用,平台 API 访问,调试,多线程以及可移植性. 我们构建网页程序的方式正面临着改革-这只是个开始而我们对于网络应用的思考方式正在发生改变. 首先,认识…
$(document).ready(function () { var otable = $('#tbl-resources').dataTable( { bJQueryUI: false, bFilter: true, bPaginate: true, bSort: false, bInfo: true, "oLanguage": { "sSearch": "Click on column to sort / Search all columns for…
这一章通过JavaScript图片库案例,学习了一些DOM属性. HTML代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>图片库</title> <link rel="stylesheet" href="styles/layout.css" media="screen"…
html中使用JavaScript 1.延迟脚本 script标签定义了defer属性,脚本会被延迟到整个页面都解析完毕后运行 详细内容如下: 2.异步脚本 script标签定义了async属性,async适用于外部脚本文件,告诉浏览器立即下载文件,标记async脚本并不保存按照指定顺序执行 详细内容如下:…
<script type="text/javascript"> function baseClass() { this.showMsg = function() { alert("baseClass::showMsg"); } this.baseShowMsg = function() { alert("baseClass::baseShowMsg"); } } baseClass.showMsg = function() { ale…
二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 exec方法的返回值 exec方法返回的其实并不是匹配结果字符串,而是一个对象,简单地修改一下execReg函数,来做一个实验就可以印证这一点: function execReg(reg, str) { var result = reg.exec(str); alert(typeof result…
javascript中继承可以通过call.apply.protoperty实现 1.call call的含义: foo.call(thisObject, args...) 表示函数foo调用的时候,上下文切换为thisObject,意思是用thisObject来调用foo方法,如果没有指定thisObject,则外部的Global对象被用作默认的thisObject function foo() { if (!this.s_name) { // 避免被this的属性重新赋值 this.s_na…
<script type="text/javascript"> function logs(str) { document.write(str + "<br />") } //利用“this 指向函数调用者”的特性,可以实现链式调用.jQuery 中大部分都是链式调用 var oName = { name: "aa", age: 999 }; window.name = "I am window"; f…
javascript的语法 1.区分大小写 javascript中,变量.函数.运算符都区分大小写. 2.弱类型变量 定义变量只用 "var"关键字 var age = 25; var myscholl = "sanxiao"; var mal = true; 3.每行结尾的分号可有可无. 4.括号用于代码块. 代码示例 <!DOCTYPE html> <html> <head lang="en"> <m…
Javascript的错误主要是语法错误和运行时的错误,前者在代码解析时就会出错,影响程序的运行.后者称为异常,影响它所运行的线程.下面就Javascript常见错误进行分析 1.常见的错误和异常 i.拼写错误 任何开发者在编写javascript程序时都犯过拼写错误,例如将document.getElementsByTagName()写成document.getElementByTagName(),将getElementByid()拼写成getElementByID()等.还有一些大小写的问题…
JavaScript数值型类型只有数字 js只有一种数值型数据类型,不管是整数还是浮点数,js都把归为数字. typeof 17;   // “number” typeof 98.6; // “number” typeof –2.1; // “number” js中的所有数字都是双精度浮点数.是由IEEE754标准制定的64位编码数字(这个是什么东东,不知道,回头查一下吧) 那么js是如何表达整数的,双精度浮点数可以完美地表示高达53位精度的整数(没有什么概念,没处理过多大的数据,没用完过!),…