作者:zccst
1,var a = b = 5;
(function(){
var a = b = 5;
})();
console.log(a);//undefined 报错
console.log(b);//5 等价于 window.b = 5, var a = b;
2,变量和函数的声明提前
function test(){
console.log(a);//undefined
console.log(foo());//2
var a = 1 ;
function foo() { return 2;};
}
test();
原因:变量和函数的申明都被提前了,但是变量没有赋值,因此是undefined
3,作用域链
var fullName = "C";
var obj = {
fullName : "A",
prop:{
fullName:"B",
getFullName:function(){
return this.fullName;
}
}
}
console.log(obj.prop.getFullName());//B
var dd = obj.prop.getFullName;
console.log(dd());//C
console.log(dd.call(obj.prop));//B
4,对象及引用
a = 66;
var a = {"x": 1};
var b = a;
a.x = 2;
console.log(b.x);
a = {"x":3};
console.log(b.x);
a.x = 4;
console.log(b.x);
结果:全是2
如果您觉得本文的内容对您的学习有所帮助,您可以微信:
分享到:
相关推荐
- **Block**(闭包)是一种可以直接在代码中定义的匿名函数,它可以捕获外部作用域中的变量,适合用于简单的回调或短小的任务处理。 4. **属性(Property)的概念及其组成部分:** - 属性是Objective-C中用于封装...
Java基础知识讲解与面试题分析: 1. Java源文件中是否可以包含多个类? 是的,一个".java"源文件中可以包含多个类,但只能有一个公共类(public class),并且该公共类的名称必须与文件名相同。其他非公共类的数量...
《.NET面试题精选合辑》是一份针对.NET开发者精心整理的面试资源,涵盖了.NET技术栈的多个方面,包括但不限于基础概念、编程语言、框架应用、数据库交互等关键知识点。以下是对这些面试题中涉及的核心知识进行的详细...
### Java开发人员常见面试题详解 #### 一、CoreJava:基础及语法 **1. 面向对象的特征有哪些方面?** 面向对象编程(OOP)的核心特征主要包括以下几点: 1. **抽象**(Abstraction): 抽象是指在设计阶段只考虑与当前...
- **作用域限制**:限制变量的作用域。 - **静态存储**:为变量分配静态存储空间。 #### 45. GCD(Grand Central Dispatch) - **并发编程**:如何使用 GCD 实现多线程编程。 - **队列**:GCD 中的任务队列模型。 ...
2. **作用域public,private,protected,以及不写时的区别?** - **public**:在任何地方都可以被访问。 - **protected**:可以被同一个包内的类以及不同包内该类的子类访问。 - **default**(不写时默认为default...
### 杭州端点公司Java面试题解析 #### 一、选择题解析 **1. ArrayList有而LinkedList没有的方法** - `ArrayList` 和 `LinkedList` 都实现了 `List` 接口,但它们的内部实现机制不同。 - `ArrayList` 是基于数组...
2. **作用域**:public、private、protected以及默认(包级私有)作用域决定了类的成员(变量和方法)的可见性。public成员对所有类可见,private仅在本类中可见,protected在本类、同包和子类中可见,而默认作用域...
Java面试题及答案整理主要涵盖了Java核心技术、面向对象设计、XML、SQL、JDBC、Web技术、EJB、Spring框架、数据结构与算法、计算机基础知识、C++以及Weblogic和其他附加部分。以下是对这些知识点的详细说明: 1. **...
对于作用域的理解,public、private、protected以及默认的作用域范围各有不同,public使得所有类都可以访问,private限制为仅在本类内访问,protected允许同包内的类和子类访问,而默认作用域只限于同一包内的访问。...
- 变量作用域,如何在不同作用域下声明和使用变量。 - Java中的逻辑运算符(&, |, ^)与条件运算符(&&, ||)的区别,以及位运算符和逻辑运算符的不同用法。 异常部分包括: - Java异常处理机制,如何使用try-catch-...
2. **作用域关键字** - `public`:表示可以在任何地方被访问。 - `protected`:表示可以被同一包内的类或不同包内的子类访问。 - `default`:表示只可以在同一包内的类访问,这是不显式声明访问修饰符时的默认...
【Java基础面试题详解】 1. 访问修饰符的使用 在Java中,访问修饰符是用来控制类、接口、变量和方法的访问权限的。主要有四种:`public`、`private`、`protected`以及默认(无修饰符)。它们的作用域如下: - `...
Java面试题(题库全) 本文档提供了一份完整的Java面试题库,涵盖了Java编程的各个方面,包括Core Java、OOAD & UML、XML、SQL、JDBC & Hibernate、Web、EJB & Spring、数据结构&算法&计算机基础、C++等。题库共...
1. ASP.NET面试题: - 控件:面试中可能会涉及ASP.NET服务器控件的使用,如Label、TextBox、Button等,以及自定义控件和用户控件的创建。 - 页面生命周期:理解页面从请求到响应的完整生命周期,包括各个阶段的...
面试题集中的“CoreJava”部分涵盖了这些基础知识点,是面试者准备面试时的重要参考资料。下面详细说明这些知识点。 一、面向对象编程的特征 面向对象编程(OOP)的主要特征包括抽象、继承、封装和多态性。抽象是...
### .NET面试题详解 #### 第2章 .NET框架基础 **2.1 .NET基础概念** - **2.1.1 什么是CTS、CLS和CLR?** - **CTS (Common Type System)**:公共类型系统是.NET框架的核心组件之一,它定义了一组规则来确保所有...
- 变量:声明、初始化、作用域和生命周期。 - 运算符:赋值、比较、逻辑、位运算符等。 - 控制流:if-else、switch、for、while、do-while循环,break、continue语句。 - 函数:方法定义、重载、参数传递(按值...
- 重载(Overload)发生在同一作用域内,通过不同的参数列表定义多个同名方法。 - 重写(Override)是子类对基类同名方法的覆盖,需使用 `override` 关键字,以适应多态性。 6. 在B/S结构中传递变量值的替代方法...