变量声明早于代码运行

函数声明早于变量声明

this指针代表的是执行当前代码的对象的所有者

JavaScript执行完同步,才能执行异步队列。如:alert,for if while 同步执行,在执行这些代码时,其它代码不执行。//关于JavaScript异步执行

属性在查找时先查找当前对象中属性,再查找继承原型,最后查找最终原型object是否存在。object的prototype为null。

object.prototype共享一份内存。构造方法重复构造。

花括号({})是function的简写,方括号([])是array的简写。

a=b;为a指向同一个b

a=b();为执行b,返回值赋值给a

a=new b();为在内存新建一个b,a指向一个新的b对象

function b(){
return 1+2;
}
var a=b();//out 3
var c=b;//out:function b(){ return 1+2;}

y = y || 0;

如果y已经定义 , y || 返回 y, 因为 y 是 true, 否则返回 0, 因为 undefined 为 false。

  1. false0、空字符串("")、NaNnull 和 undefined 被转换为 false
  2. 所有其他值被转换为 true

在C++或C#中,当我们谈到对象,指的是类或者结构体的实例。对象根据他们实例化的模板(就是所谓的类),会拥有不同的 属性和方法。但在JavaScript里对象不是这个概念。在JavaScript中,对象就是一个键/值对的集合 -- 你可以把JavaScript的对象想象成一个键为字符串类型的字典。

有两种简单方法可以创建一个空对象:

var obj = new Object();

和:

var obj = {};

这两种方法在语义上是相同的。第二种更方便的方法叫作“对象字面量(object literal)”法。这种也是 JSON 格式的核心语法,一般我们优先选择第二种方法。

“对象字面量”也可以用来在对象实例中定义一个对象:

var obj = {
name: "Carrot",
"for": "Max",
details: {
color: "orange",
size: 12
}
}

对象的属性可以通过链式(chain)表示方法进行访问:

obj.details.color; // orange
obj["details"]["size"]; //
var str="size";
obj["details"][str]; // 12 动态访问
var str2="length";
obj["details"][str2]=100;//动态添加
obj["details"]["length"]; // var obj = {
name: "Carrot",
"for": "Max",
details: {
color: "orange",
size: 12,
length:100
}
}

以上代码示例来自----来自

javaScript一些需要注意的细节的更多相关文章

  1. JavaScript事件的几个细节

    JavaScript事件的几个细节 一.是捕获还是冒泡 昨天被问到一个问题:事件流有几个阶段?在这几个阶段中,事件一共发生几次? 问题很简单,但对于事件一共发生几次有点乱.总觉得捕获也能触发事件.冒泡 ...

  2. JavaScript使用需要注意的细节

    1.JavaScript区分大小写 在JavaScript中对象,变量.函数都是区分大小写的,例如: Object表示对象,Arrary表示数组,而写成object,arrary的时候JavaScri ...

  3. JavaScript中Date的一些细节

    对于开发人员来说,Date有时候或许会很重要,我们可以通过new Date()来创建一个日期对象.例如: var start = new Date(), //获取当前时间 today = new Da ...

  4. javaScript数据类型的一些小细节

    JavaScript的数据类型有哪些就不说了,没必要. 由于JavaScript是一个弱类型的语言,就是定义的时候不需要定义数据类型,数据类型自动根据变量值来确定.而在JavaScript里面,数据类 ...

  5. 【JavaScript高级进阶】JavaScript变量/函数提升的细节总结

    // 测试1 console.log('----------test1--------------'); console.log(global); // undefined var global = ...

  6. 前端网老姚浅谈:怎么学JavaScript?

    作者:小不了链接:https://zhuanlan.zhihu.com/p/23265155来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 鉴于时不时,有同学私信问我( ...

  7. javascript 高级程序设计 -有感

    本来我想写一个高级程序设计总结的,结果发现我进入了一扇门,里面所有的字都要逐字逐句的理解,所有描述已经是非常精炼了,我最初的想法无异于老鼠吃大象. 我现在记录的是我在看这本时的感想. 2015.4月9 ...

  8. 怎么学JavaScript?

    作者:小不了链接:https://zhuanlan.zhihu.com/p/23265155来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 鉴于时不时,有同学私信问我( ...

  9. JavaScript 开发者经常忽略或误用的七个基础知识点(转)

    JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...

随机推荐

  1. 怎样将Android SDK源码 导入到Eclipse中?

    在Eclipse中导入android sdk源码 http://blog.csdn.net/hahahacff/article/details/8590649

  2. 简例 - robot case格式

    注意robot的case格式 # *** Variables *** # *** Settings *** # Library String # Library Selenium2Library ** ...

  3. tp5.1 insert 返回id, 不等于符号

    $insertId = Db::name('user_address')->insertGetId($data); //add=>insert, insert 返回值不再是插入的id; i ...

  4. 百度定位api 定位不准修正

    https://www.zhihu.com/question/38313555   在安卓开发中需要设置 setCoorType("bd09lsetCoorType("bd09ll ...

  5. P2776 [SDOI2007]小组队列

    P2776 [SDOI2007]小组队列 题目背景 嘛,这道非常简单的给大家提供信心的省选题洛谷居然没有! 这么简单的题怎么可以没有! 给大家提升士气是义不容辞的责任! 所以我就来补一下啦.. 值得一 ...

  6. jvm系列(三):GC算法 垃圾收集器

    原文出处:纯洁的微笑 这篇文件将给大家介绍GC都有哪几种算法,以及JVM都有那些垃圾回收器,它们的工作原理. 概述 垃圾收集 Garbage Collection 通常被称为"GC" ...

  7. IOS计算文字高度

    1.计算文字长度 NSString* str = @"你好"; .f; NSStringDrawingOptions options = NSStringDrawingUsesLi ...

  8. C++函数不能为virtual的场景

    1.类函数不能同时被static和virtual修饰. 2.类的模板函数不能被virtual修饰 未完待续

  9. 科学计算三维可视化---Mayavi可视化实例

    一:Dragon绘制实例(三维扫描的绘制) 三维扫描主要用于对物体空间外形结构以及色彩进行扫描,用以获得物体表面的空间坐标, 他的主要意义在于能够将实物的立体信息转换为计算机能够直接处理的数据信号,为 ...

  10. angularJS__v1.5.6点击同一个菜单刷新

    针对angularjs的1.0版本,点击菜单不刷新问题,只需在配置路由时,路由路径添加“/”,如,点击 标签时,就会刷新,