1.字符串的操作
JavaScript中提供了很多字符串的操作,例如字符串的截断,字符串的链接等,所有这些操作都不会引起字符串本身的变化,操作的结果是返回一个新的字符串。substr和substring都是返回一个原来字符串的子串,二者的区别在于substring(m, n)表示的是[m,n)即左闭右开区间,而substr(m,n)表示的是[m,n]左闭右闭区间。
2.给字符串设置一个属性
我们定义一个字符串,然后给字符串设置一个len属性,发现我们设置的属性是无效的,看看下面的代码段
var s = "test";
s.len = 4;
var t = s.len;
上述程序中再次使用s.len的时候,发现t的值是undefined。第二行代码创建了一个临时字符串对象,并给其len属性赋值为4,随即销毁这个对象。第三行通过原始的字符串值创建一个新字符串对象,尝试读取其len属性,这个属性自然不存在,表达式求值结果为undefined。这段代码说明了在读取字符串,数字和布尔值的属性值的时候,表现的像对象一样。但是如果你试图给其属性赋值,则会忽略这个操作:修改只是发生在临时对象身上,而这个临时对象并未继续保留下来。
3.强制转换
在Javascript中我们写+x表示把x强制转换成数字,!!x表示把x强制转换成bool值。这两个强制转换要在平时写代码的时候灵活使用。
4.函数作用于的问题
在一些类似C语言的编程语言中,一对花括号之间定义的变量只有在花括号内部是有效的,出了花括号之后,这些变量就是不可见的,这就是所谓块级作用域的意思。但是在Javascript中没有块级作用域的概念,但是有函数作用域的概念,就是说在一个函数内声明的变量在当前函数体以及当前函数体中的任意嵌套函数体内都是可见的。
下面我们来看看一段和函数作用域有关的代码段:
var scope = "global";
function f() {
console.log(scope);
var scope = "local";
console.log(scope);
}
上述代码的输出结果是:undefined local,对于第一个输出为什么不是global呢?我们看完代码之后感觉第一个输出应该是global才对呀,但是输出结果却是undefined,就是说暂时还没有定义值,其实为啥不输出global的原因是因为我们在函数作用域中定义了scope这个变量,假如没有定义输出就是global了。由于函数作用域的特性,局部变量在整个函数体内始终是有定义的,也就是说在函数体内,局部变量遮盖了全局变量。同时这也说明了一个问题,在Javascript中变量的使用可以先于定义。其实上述代码的等价代码是:
var scope = "global";
function f() {
var scope;
console.log(scope);
scope = "local";
console.log(scope);
}
5.作为属性的变量
当声明一个Javascript全局变量时,实际上是定义了全局对象的一个属性,当使用var声明一个变量时,创建的这个属性是不可配置的,也就是说这个变量无法通过delete运算符删除。
6.关于对象的创建
我们知道在Javascript中可以使用new来创建一个对象,比如new Object();此时就创建了一个JS对象,我们可以认为Object()是一个构造函数,这个构造函数不带任何参数,如果是不带任何参数的构造函数,我们在创建对象的时候可以省略(),也就是说new Object()和new Object的效果是一样的。
如果一个构造函数确实返回了一个对象值,那么这个对象就作为整个对象创建表达式的值,而新创建的对象就废弃了。
7.关于属性的访问
在JS中属性访问定义了下面两种方式
expression.identifier
expression[expression]
显然.identifier的写法更加简单,对于使用过C++/JAVA的程序员而言这是一种非常熟悉的方式,但是coder要注意的是,这种方式只适用于要访问的属性名称是合法的标识符,并且需要知道要访问的属性的名字。如果属性名称是一个保留字或者包含空格和标点符号,或者是一个数字(对于数组来说),则必须使用方括号的写法。当属性名是通过运算得出的值而不是固定值的时候,这时必须使用方括号写法。
分享到:
相关推荐
在IT行业中,日常工作中积累的小知识点往往能对我们的编程技能提升大有裨益,特别是对于初学者来说。以下是一些从给定文件中提取的重要知识点: 1. **jQuery事件绑定**: `$('#unitName').bind('input', function ...
该项目是一款融合Java、Vue、JavaScript和HTML技术的综合学习系统源码,共计81个文件,其中Vue文件43个,JavaScript文件14个,JSON...每个模块均独立设计,便于扩展和维护,适用于学生和自学者的知识点积累与学习提升。
### C++、JS、jQuery小知识点积累 #### C++中的MessageBox使用详解 在C++编程中,`MessageBox`函数常用于向用户显示消息对话框。它通常被用作调试工具或者提示用户某些重要信息的方式。 - **基本语法**: ```...
以上只是JavaScript学习和实践过程中的一部分知识点,实际开发中,JavaScript的应用深度和广度远不止于此。持续积累和实践,不断探索新的技术和最佳实践,是成为一名优秀的JavaScript开发者的关键。
叶小凡在林元青掌尊的指导下,逐步掌握了这些基础知识,就像初学者在真实的学习过程中,需要通过不断实践来熟悉这些概念。 流程控制是编程的另一个重要方面,它涉及条件语句和循环,这些控制结构让程序能够做出判断...
JavaScript特效在网页设计中起着至关重要的作用,它赋予了静态网页动态的视觉效果和交互性,极大地提升了用户体验。"javascript特效例子50例"这...记得在实践中不断探索和积累,这样才能在JavaScript的世界里游刃有余。
JavaScript宝典第6版是深入理解JavaScript编程语言的一本权威指南,它涵盖了广泛的知识点,旨在帮助开发者全面掌握这门动态、强大且广泛使用的Web开发语言。书中所附的源码是作者为了辅助读者理解并实践书中理论知识...
### JavaScript自学手册核心知识点 #### 一、JavaScript简介与预备知识 - **JavaScript定义**:JavaScript是一种解释型、基于对象的脚本语言。它能够增强HTML网页的互动性,实现如下拉菜单、表单验证等功能,这些都...
以下是这个主题中涵盖的一些关键知识点: 1. **基础语法**:学习JavaScript首先需要了解基本的语法结构,如变量声明(`var`, `let`, `const`)、数据类型(原始类型、引用类型)、操作符(算术、比较、逻辑等)以及...
本资源总结了一个问答网站的设计与实现,该网站旨在加速知识积累,结合了一些问答网站的功能,进行了分析设计,实现了用户注册登录、提出问题、回答问题、查询问答记录等基础问答功能。此外,该系统还添加了用户个人...
### JavaScript宝典第7版知识点概述 #### 一、书籍简介与评价 - **书籍地位**:《JavaScript宝典》虽然在知名度上或许不及《JavaScript权威指南》,但其作为一部全面深入探讨JavaScript编程语言的经典之作,在业界...
此书可能涵盖了以下关键知识点: 1. **基础语法**:包括变量声明(var, let, const)、数据类型(Number, String, Boolean, Object, Array, Null, Undefined)以及基本操作符(算术、比较、逻辑、赋值等)。 2. **...
在"精通JavaScript源代码"的学习过程中,你需要掌握以下几个核心知识点: 1. **基础语法**:包括变量声明(var、let、const)、数据类型(原始类型如字符串、数字、布尔、null、undefined,以及对象类型)、操作符...
以上这些知识点是计算机软件行业中找工作的基础,持续学习和实践才能在这个快速发展的领域中保持竞争力。在准备面试时,不仅要掌握理论知识,还要注重实践经验的积累,提升问题解决能力。通过参与开源项目、编写个人...
以上就是JavaWeb开发中的一些关键知识点,每个点都值得深入学习和实践。通过不断积累和理解,可以成为一名优秀的JavaWeb开发者。在实际项目中,这些技术会被灵活组合,以解决各种复杂的业务需求。
#### 关键知识点 **1. JavaScript 在 CS6 中的角色** - **定义与用途:** - JavaScript 是一种轻量级的、解释型或即时编译型的编程语言。 - 在CS6中,JavaScript 主要用于扩展应用程序的功能,通过编写脚本来...
知识点详细说明: JavaScript是一种广泛使用的网页编程语言,它让网页能够具有动态交互性。通过JavaScript,可以在不重新加载页面的情况下,改变页面内容或样式。作为一种解释性脚本语言,JavaScript常用于网页...