首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaScript 编程精解 中文第三版 十四、文档对象模型

该属性是一个类数组对象,有length属性,也可以使用数字标签访问对应的子节点。但该属性是NodeList类型的实例,而不是真正的数组,因此该类型没有诸如slice和map之类的方法。...但 JavaScript 也提供了一些更加方便的额外链接。firstChild属性和lastChild属性分别指向第一个子节点和最后一个子节点,若没有子节点则值为null。...但它仍然不是一个真正的数组,所以如果你打算将其看做真的数组,你仍然需要调用Array.from。 querySelector方法(没有All)与querySelectorAll作用相似。...其top和left属性则是相对其最近的闭合元素的偏移,其中position属性的值不是static。如果没有任何闭合元素存在,则是相对于整个文档的偏移。 我们可以使用该属性创建一个动画。...实现该函数,这里注意是函数不是方法。该函数的参数是一个节点和字符串(标签名称),并返回一个数组,该数组包含所有带有特定标签名称的所有后代元素节点。

1.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一文入门JavaScript

    练习:99乘法表 基本对象: Function:函数(方法)对象 创建: 方法: 属性: 特点: 调用: Array:数组对象 创建: 方法 属性 特点: Date:日期对象 创建: 方法:...JS特殊语法: 语句以;结尾,如果一行只有一条语句则 ;可以省略 (不建议) 变量的定义使用var关键字,也可以不使用 用: 定义的变量是局部变量 不用:定义的变量是全局变量(不建议) 练习:99乘法表...方法是一个对象,如果定义名称相同的方法,会覆盖 在JS中,方法的调用只与方法的名称有关,和参数列表无关 在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数 调用: 方法名称...(实际参数列表); Array:数组对象 创建: var arr = new Array(元素列表); var arr = new Array(默认长度); var arr = [元素列表]; 方法 join...属性 length:数组的长度 特点: JS中,数组元素的类型可变的。 JS中,数组长度可变的。

    1.4K10

    JavaScript 设计模式学习第二篇-关于this、new、bind、call、apply

    call 方法接受的是参数列表,而 apply方法接受的是一个参数数组。...,并返回一个新的函数,且在调用新函数时,将给定参数列表作为原函数的参数序列的前若干项。...注意: 如果你把 null 或 undefined 作为 this的绑定对象传入 call、apply、bind,这些值在调用时会被忽略,实际应用的是默认绑定规则。...foo 方法为什么又指向了全局对象呢,是因为 bar方法此时是作为函数独立调用的,所以此时的场景属于默认绑定,而不是隐式绑定。...这种场景我们遇到的比较多的是 setTimeout 和 setInterval,如果回调函数不是箭头函数,那么其中的 this指向的就是全局对象。

    29310

    跟我一起学Laravel-EloquentORM高级部分

    查询作用域 全局作用域 全局作用域允许你对给定模型的所有查询添加约束。使用全局作用域功能可以为模型的所有操作增加约束。...软删除功能实际上就是利用了全局作用域功能 实现一个全局作用域功能只需要定义一个实现Illuminate\Database\Eloquent\Scope接口的类,该接口只有一个方法apply,在该方法中增加查询需要的约束...* * @var array */ protected $hidden = ['password']; } 隐藏关联关系的时候,使用的是它的方法名称,不是动态的属性名...假设我们有一个字段是first_name,当我们尝试去获取first_name的值的时候,getFirstNameAttribute方法将会被自动的调用 的方式转换属性为常见的数据类型,在模型中,使用$casts属性定义一个数组,该数组的key为要转换的属性名称,value为转换的数据类型,当前支持integer, real

    1.3K40

    Laravel学习记录--Model

    Eloquent 还能使用闭包定义全局作用域,如此一来,便就没必要定义一个单独的类了: namespace App; use Illuminate\Database\Eloquent\Model...在调用save方法向Phone模型插入值 这里Eloquent自动在phones表中添加了uid字段,并插入正确的值 使用saveMany添加多个值 $user = \App\Muser::find...不同的是save接收的是一个完整的Eloquent实例,而creare接收的是一个纯数组,需要注意的是使用create方法需要设置$fillable允许批量添加的值。...为null,前提是uid字段允许为空,如果不允许为空会抛出异常 空对象模型 如果外键字段uid允许为空,当我们访问Phone模型上的muser属性(注意这里是属性,而不是方法)时,默认返回null,Eloquent...(数组),第二个参数插入值对应的额外字段(数组) public function show(){ $stu = Stu::find(1); $res = $stu->mclass

    13.6K20

    前端练级攻略(第二部分)

    此外,如果你有时间,请参阅上面列出的每个概念,阅读 Eloquent JavaScript中的相应章节以加强你的学习。...Eloquent JavaScript 是一本很棒的免费在线书籍,每个有抱负的前端开发人员都应该阅读。 交互性 ?...以下其中一些概念的列表。 如果有时间,仔细阅读每一个要点 此外,如果你想补充学习其它内容,Eloquent JavaScript 涵盖了大部分内容。...之后,你可以在 ES6 特性中看到从ES5 到 ES6 的完整变化列表。如果你想要更多,请查看这个包含 ES6 特性的Github存储库。 更多的练习 如果你已经到了这一步,恭喜你自己。...练习 5 练习 5 是应用 MVC 的一个很好的练习,理解 MVC 是学习 JavaScript 框架的重要一步。

    3.8K00

    如何用原生 DOM API 生成表格

    回到基础:如何用原生 DOM API 生成表格 这是一个刷 JavaScript 经验值的好机会:在技术面试中出现的最多的一个问题就是**怎样用原生 API 操作 DOM **。...需求 Eloquent JavaScript 是一本非常好的 JavaScript 书籍。这本书很简洁,也不乏味,同时有大量的练习。以下练习改编自第 14 章,它被称为“构建表格”。...题目要求你用 JavaScript 构建一个 HTML 表。你的任务是依据 “mountains” 数组中的数据生成表格,将对象中的key对应到列并且每行一个对象。...不过我们的代码可能没进行很好的组织(有太多的全局绑定),这些将会在下一篇文章中提到。 到此为止,你应该能够在不依赖任何外部库的情况下操作HTML表了。恭喜!...我们有一些带有全局绑定的代码(请参阅执行上下文和调用堆栈以获取更多信息)。在下一篇文章中,我们将看到怎样重构这些代码。 jQuery正逐渐消失。

    2K20

    vue2知识点:浏览器本地缓存

    '>注意点2:本地缓存默认存储都是字符串类型,哪怕存值为数值,最终结果也会转成字符串类型值注意点3:查询本地缓存getItem(K),如果查询一个不存在的...key值,结果为null,而不是undefine,另外JSON.parse(null),那么结果依然是null,而不是undefine注意点4:如果存储值为对象类型...,那么页面缓存保存的实际是调用.toString()后的字符串效果,如图,这样坏处是压根不知道对象里面都有啥属性,哪怕获取到该对象也不明白都包含了啥,使用很不方便,而不是咱们认识的json格式let p...《基础篇第4章》:使用vue脚手架创建项目5.vue2知识点:数据代理6.vue2知识点:事件处理7.vue2知识点:列表渲染(包含:v-for、key、取值范围、列表过滤、列表排序、vue监视对象或数组的数据改变原理...Todo-list改成使用全局事件总线31.vue2基础组件通信案例练习:把案例Todo-list改成使用消息订阅与发布32.vue2基础组件通信案例练习:把案例Todo-list新增编辑按钮33.vue2

    9410

    Laravel 5.0 之 Eloquent 属性转换

    官方文档的 Eloquent 相关部分在这里。 什么是属性转换 转换一个属性值的意思是把它转换成某个特定的数据类型(或者是为了确保它是某个特定的数据类型)。...这意味着假如你的数据是以特定的格式存储在数据库中,而你在使用时需要的是另外一种格式,现在你可以配置 Eloquent 模型自动完成两种格式之间的转换工作。 为什么要这样做?...当然不是。 它是如何实现的? 要应用属性转换这个功能,你需要在你的模型中添加一个 protected $casts 的数组变量。...这个数组变量 $casts 的作用就是告诉 Eloquent:“每次当我访问这个模型中的 is_admin 属性的时候,返回一个类型为 boolean 的值给我”。...array 这个值是把 JSON 化的数组转换为 PHP 数组,用 return json_decode($value, true) 实现。 如果你需要看一下源代码,请点击这里。

    2.1K80

    【Laravel系列4.3】模型Eloquent ORM的使用(一)

    我们在关系型数据库中,一行数据就可以看成是一个对象,整个表就可以看成是这个对象的列表。这就是非常简单地针对 ORM 的理解。 Java 中的 Hibernate 就是早期非常经典的 ORM 框架。...小伙伴们不要惊讶,在这里出错是正常的,为什么呢?一是在上面的 Modal 类中,我们没有指定表名,但是框架会根据类名映射一个表名出来。...它判断的是这个 key 是否是抽象基类 laravel/framework/src/Illuminate/Database/Eloquent/Model.php ,而不是我们定义的 MTest ,用的是一个...然后来到最后的 tap() 中,tap() 是一个 Laravel 框架中定义的全局函数,和 env() 函数在一起的,它的作用是将第一个参数当作第二个参数的参数传递给第二参数,并执行第二个参数后,将第一个参数再返回回来...有点绕是不是?其实就是第一个参数是一个值,然后把它放到第二个参数中,这个参数是一个回调函数,然后通过回调函数来使用这个值进行其它的操作。

    8.9K20

    orm 系列 之 Eloquent演化历程2

    auto_increment primary key, `email` varchar(255) not null) 我们现在来看下上述是怎么实现的?...commentable_id列对应 Post 或Video 的 ID 值,而 commentable_type 列对应所属模型的类名。...function comments() { return $this->morphMany('App\Comment', 'commentable'); } } 以上内容来自...此处为什么会出现Manager,当项目变复杂后,我们很难简单的和Eloquent的内部的组件进行有效的功能了,这个时候需要一个项目的门面,帮助我们和外界沟通,让外界尽可能简单的使用Eloquent,于是就出现了...第二步setAsGlobal,其动作就做了static::$instance = $this,通过将实例设置为静态变量,我们就能在全局通过静态方法来访问Capsule了。

    2.4K30

    百度Web前端技术学院(2)-JavaScript 基础

    参考资料:JavaScript 指南-MDN 了解JavaScript是什么 来自MDN的解释 JavaScript 是一种跨平台,面向对象的脚本语言。...这样每一个窗口都有一个自己的 JavaScript 环境,有自己的全局对象。并且每个全局对象都有自己的一组构造函数。因此一个窗体中的对象不可能是另外窗体中的构造函数的实例。...地址的大小是固定的,所以把它存储在栈中对变量性能无任何负面影响。如下图所示: image.png JavaScript中原始值包括:undefined,null,布尔值,数字和字符串。...g:执行一个全局匹配,简言之,即找到所有匹配,而不是找到第一个之后就停止。 以上来自 JavaScript权威指南(犀牛书),感觉这里面将的正则表达式还不错。...参考: Ajax W3C Comet:基于 HTTP 长连接的“服务器推”技术 练习1:处理兴趣列表 任务要求 在task0002目录下创建一个task0002_1.html文件,以及一个js目录和css

    2.1K40

    Laravel Eloquent 模型关联关系详解(上)

    你可能注意到了我们在定义关联关系时,仅仅指定了模型类名,并没有指定通过哪些数据表字段建立关联,这并不是说 Laravel 神通广大,能知过去未来之事,而是因为 Eloquent 对此做了默认的约定。...为什么我们不需要指定 Laravel 就能完成这种关联呢,这是因为如果没有指定 $foreignKey,Eloquent 底层会通过如下方法去拼接: public function getForeignKey...遵循这种默认的约定,可以帮我们少写很多代码,减少很多额外的配置,所以如果不是迫不得已(比如从其他系统迁移过来),建议你在使用 Eloquent 的话,尽量遵循这些默认约定。...建立相对的关联关系 与一对一一样,我们可以在文章模型中建立与用户模型之间的相对关联关系,而且这种使用场景很普遍,比如在文章详细页或列表页显示文章作者信息。...and `email_verified_at` is not null 这样,就可以在返回的列表中看到关联的作者信息了,在遍历的时候可以通过 $post->author 获取,而无需每次加载,从而提高数据库查询性能

    10K40

    JavaScript·JavaScript 秘密花园

    对象 对象使用和属性 JavaScript 中所有变量都是对象,除了两个例外 null 和 undefined。 JavaScript 解析器错误,试图将点操作符解析为浮点数字值的一部分。...delete 操作符,设置属性为 undefined 或者 null 并不能真正的删除属性,而仅仅是移除属性和值的关联。...为了达到遍历数组的最佳性能,推荐使用经典的 for 循环。 length 属性 length 属性的 getter 方式会简单的返回数组的长度,而 setter 方式会截断数组。...可以看到,这个值在大多数情况下都返回 object。 Class 一列表示对象的内部属性 [[Class]] 的值。...instanceof 操作符应该仅仅用来比较来自同一个 JavaScript 上下文的自定义对象。正如 typeof 操作符一样,任何其它的用法都应该是避免的。

    65920
    领券