JavaScript基础知识
1.数据类型(data type)
JavaScript是一门动态语言,类型由赋予的值决定的,同一个变量可以指向不同的类型的值。例如:
var a = 1; // a 是Number类型的 a = 'bar'; // a 变成String类型的
那如何确定一个变量的类型呢,利用tpyeof操作符。例如:
var a = 1; typeof a // 'number' a = 'bar'; typeof a// 'string'
但是在JavaScript中数组是一个Object,所以
var a = ['a', 'b', 'c']; typeof a // 'object'
如果需要的到精确的类型,如‘array'、'regexp'、'date'等,可以使用JavaScript的library提供的方法。如jQuery中的type方法。
2.引用(reference)
JavaScript中通过一个变量指向一个实际的对象来操作该对象。例如:
var obj = new Object(); obj.name = 'Ann'; alert(obj.name);//'Ann'
如果多个变量指向同一个实际的对象,那么一个变量改变该实际对象,其他的变量也会相应改变。例如:
var obj = new Object(); var objRef = obj; obj.name = 'Ann'; alert( objRef.name == 'Ann' );//true
在JavaScript中变量永远指向一个实际的对象,而不指向其他引用。有一些看似违背了该原则的情况,例如:
var str = 'abc'; var strRef = str; strRef += 'd'; alert( str ); //'abc' alert( strRef == str ) //false
因为字符串的连接操作会生成新的字符串对象而非原来的字符串对象。
3.作用域(scope)
JavaScript是函数作用域,即以function来划分作用域的,这点对于习惯使用C、Java等块作用域的程序员比较不适应。例如:
if( true ) { var i = 2; } alert(i);//2
4.简便写法
在JavaScript的代码中常见的一些简便写法有:
1>参数默认值
fuction foo( bar ) { bar = bar || 'default'; //当bar没有传入,默认是'default' }
2>对象检测法
if(document && document.getElementById && document.getElementsByTagName && docuemnt.body) { alert('DOM is already loaded.');//DOM 加载完毕的检测 }
在&&操作符的执行顺序是从左到右,如果左操作数为false,则直接返回false,而不会再检查右操作数。
3>减少if写法的方式
第一种方法: 利用 ? : 三元操作符, 例如:
var x = 2 > 1 ? 'yes' : 'no'; alert(x); // 'yes'
第二种方法:使用{}对象来表示关联,例如:
var funcObj = { a: function() { return 'a'; }, b: function() { return 'b'; } }; alert( funcObj.b ); // 'b'
其他的JavaScript简写方法还有很多,目的都是为了代码的整洁性和可重用性(clean and reusable)。
小结:JavaScript是一门非常灵活的语言,本文介绍了类型、引用、作用域和一些常见的简便写法几个方面,只要努力,语言本身还是比较简单的,当然最好的学习方式就是实践,make your hands dirty!
PS:推荐一个JavaScript Tips。
相关推荐
本书共分三篇13章,第一篇作为全书的开篇,简要介绍了Web开发的各种理论基础,包括HTML、CSS以及JavaScript等。还将通过翔实的理论介绍面向对象的程序设计思路与Web开发之间的关系。第二篇作为本书内容的核心,介绍...
- **函数作为第一类公民**:第七章强调了JavaScript中函数的重要性,将其视为“第一类公民”,可以被赋值给变量、作为参数传递或作为返回值返回。 - **高级特性**:书中还探讨了一些高级特性,比如高阶函数、递归...
本书开篇便为读者提供了一个关于JavaScript的快速概览,旨在帮助读者快速了解JavaScript的基础知识,并为后续深入学习打下基础。 - **JavaScript 数据结构与算法**:书中将详细介绍如何利用JavaScript实现各种数据...
作者陈皓在2011年的Coolshell上发布了第一版,收到众多好评,并在2018年进行了更新,以适应技术的快速发展。 入门篇建议初学者从Python和JavaScript开始学习,Python因其简洁的语法和丰富的库适合零基础者,而...
#### JavaScript基础 JavaScript是一种强大的脚本语言,用于实现网页的交互性和动态效果。书中将教授如何使用JavaScript处理用户输入、操作DOM(Document Object Model)、响应事件和执行异步请求。 总之,《使用...
首先,"第1章(终稿).ppt"很可能是课程的开篇,可能会讲解网页制作的基础概念。在这一章中,我们通常会学习到网页的起源与发展,网页的基本组成元素,比如HTML标记语言的结构,如何使用头部(head)、主体(body)等...
”,这也标志着你已经迈出了学习JQuery的第一步。 #### 结语 本文作为JQuery教程的开篇,介绍了JQuery的基本概念、特性以及一个简单的示例。接下来的文章将会深入探讨JQuery的各种高级功能,包括AJAX开发等内容。...
**第一章 选题背景** 在这一章中,学生需要详细描述论文的主题是如何选择的,以及为什么选择这个主题。背景概述应该包括该领域的国内外现状,存在的问题或挑战,以及研究的重要性。此外,学生可以在此部分简要介绍...
### Node.js in Action 最终版...它不仅涵盖了Node.js的基础知识,还深入探讨了如何使用Node.js构建高性能的Web应用程序。对于希望深入了解Node.js技术栈并将其应用于实际项目的开发者来说,本书是不可多得的宝贵资源。
首先,"第1章 Bootstrap介绍.pdf"可能是课程的开篇,它会涵盖Bootstrap的基本概念、发展历程以及为何选择Bootstrap作为前端开发框架的原因。在这一章中,你可能会学到Bootstrap的核心特性,如网格系统、组件库、...
1. **第1章 网页与网站**:这一章主要介绍了网页和网站的基本概念,包括网页的构成元素、网站的结构以及不同类型网站的特点。同时,也会涉及网页设计的原则和用户体验的重要性,为后续的学习打下基础。 2. **第2章 ...
书中不仅包含了基础知识,还有大量的实践案例和常见问题解决方案,非常适合想要深入了解Angular 6的读者。 综上所述,《Pro Angular 6, 第三版》是一本全面覆盖Angular 6核心概念和技术细节的专业书籍,对于希望在...
- **开篇第一个JSP**:通过创建并运行一个简单的JSP文件,理解JSP的基本语法和执行流程。 - **B/S结构**:讲解客户端(Browser)与服务器(Server)之间的请求与响应机制,这是Web开发的核心。 - **中文乱码解决方案...
作为一本全面介绍jQuery的指南,本书不仅覆盖了基础知识,还深入探讨了许多进阶主题。 #### 主要内容概览 1. **爱上jQuery (第1章)** - **章节概述**:本章作为开篇,向读者介绍了jQuery的基本概念及其优势,例如...