JS包括ECMAScript标准、DOM和BOM三部分组成,但是今天我不会都涉及。
学习一门计算机高级语言,都是从数据类型、表达式、运算符、流程、函数等最最基础的部分开始的。我们有了Java的基础,应该特别着重比较两者的异同。我今天主要写JS基础部分的我觉得和Java有区别的几点。
阅读提醒:
因为写这篇的目的是为了给自己JS基础部分备忘,所以并没有考虑到各位读者的阅读理解规律,就这点来说这篇文章是不适合发表的。并且,本文并没有罗列全部基础部分的知识点(如表达式部分没涉及)。我建议你们看的时候,就只看我叙述的比较详细的那几点,并且只做一个引入式的参考即可。毕竟,我也是初学者。
目录:
1、基本数据类型
2、类型转换(注意和Java中的区别)
3、正则表达式
4、JS中的对象(创建删除等)
一、基本数据类型:
【JS基本数据类型图例】
有些人到这里就会停止思考了,不知道大家有没有注意到两个特别的类型:undefined和null,这两个类型有别于Java中的类型,下面我深入探讨这两个类型。
普通说法:
null关键字的数据类型是系统的一个内置对象,typeof值object;undefined是JS的一个预定义全局变量,typeof值undefined。对两个数据类型的值"=="运算结果true,"===="运算结果false,不同的原因是"==="会提前检查两者的typeof值是否相同。
于是,我不禁要问了:既然两个类型分别对应了数据自己的唯一专用值,那为什么"=="结果是true,并且网上还有一些说法说undefined是从值null派生出来的呢?带着这个疑问,我研究了他们在内存中表现:
Undefined代表没有赋值的基本数据类型,null代表没有赋值的引用数据类型。
【JS变量内存机制示例】
解决第一个问题:为什么undefined继承自null
在JS中,基本数据类型都有一个与其对应的引用数据类型,number Number,string String……他们具有完全相同的行为,并且相互之间会产生自动拆箱和装箱的操作。于是可以得出一个肤浅的结论:基本数据类型是对应引用数据类型的子类,只不过是为了提高效率,将其放在栈内存中而已。对应的Undefined代表无值的基本类型,Null代表无值的引用类型,那势必就可以推出undefined继承null。
解决第二个问题:为什么undefined==null为ture而undefined===null为false
内存告诉undefined和null都在栈内存中,因为既然是无值的引用类型就没有必要再在堆中开辟空间了。此时,"=="运算的结果就是true了。
于是,当我们要切断与对象的联系,但又并不想给变量赋于其他的值,那么我们可了置null,如var obj = new Object();obj=null;
二、类型转换:
已经定义的数据类型的变量可以在表达式中自动转换数据类型(这里和Java中有不同,我),或者通过相应的方法来转换数据类型。
JS提供两种数据类型的转换,一种是将整个值从一种类型转换为另一种数据类型(称作基本数据类型转换),另一种方法是从一个值中提取另一种类型的值,并完成类型转换工作。
自动数据类型转换
【自动数据类型转换例子】
自己实现数据类型转换:
1、基本数据类型转换
String()
Number():以上两种没有Java中那么多限制。例如Number(fasle)=0.
Boolean:除0,、NaN、null、undefined、“”(空字符串)被转换为false外,其他都被转换为true
2、提取整数parseInt(numString,[radix])方法,忽略前导空格,遇非数字字符停止,后一个可选属性表示转换的进制。
3、parseFloat(numString) eval(codeString)用法基本同上。
三、正则表达式
JS提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp对象实例。
在程序中可以使用正则表达式对象的exec()和test()方法进行字符串测试和匹配,也可以使用String对象的4个方法完成这些任务。在完成某些操作时,这些方法会更加简单有效。
match() myArray=myString.match(regex)——在字符串中搜索匹配的字符串,并将匹配结果在一个数组中返回
replace() afterString=beforeString.replace(regex,replacedment_value)——用另一个字符串替换搜索到的字符串。
Serch() var index=myString.search(regex)——返回模式垂询按的开始位置
Split() myArray=myString.split(regex)——分割成一个字符串数组
四、对象
程序员可以使用系统预设的对象(DOM树里的和诸如Array等,一般直接使用这些就足够了)也可以自定义对象的属性和方法。
在JS中有四种方法创建对象:
1、通过对象直接量创建对象
var newObject={属性名1:属性值1,属性名2:属性值2……}
2、使用构造函数创建对象:
var newObject=new Object(Paramenters table);
3、通过函数创建对象
Function student(name,sex){
this.name=name;
This.sex=sex;
}
var student=new sudent("贾懂","男");
4、通过类创建对象
class TV //定义类
{
var Make:String; //类的属性
var Model:String;
function TV(make,model){ //定义构造函数(系统内置变量的构造函 数有系统规定)
this.Make=make;
this.Model=model;
}
}
Var myTV=new TV{"Haier","32 inch"};//使用new关键字创建对象实例
如何定义对象的方法?
Fuction product(name){
This.name=name;
This.totle=totle; //要显示申明该对象对应的方法
}
Function totle(){
return("对象方法要在构造函数中申明");
}
var demoResult=new product("对象方法测试").totle();
属性和方法是这样:在构造函数内定义为所有的对象实例共享,在构造函数外定义只作用于单个对象实例。
删除对象:
objectName=null/undefined;
delete 对象名.属性名
delete 对象名.方法
系统内置对象:
String Boolean Number Math Date Array
Window中对象(特别的DOM中对象)
Cookie的使用:
Cookie是浏览器和服务器之间进行状态会话的方式。
Cookie是大小是有限制的。可以使用JS来对cookie进行操作,可以创建、读取、删除cookie等操作。Cookie实际上是一段字符串,由浏览器当前的地址和有效的属性信息构成。
- 大小: 4.8 KB
- 大小: 8.5 KB
- 大小: 89 KB
分享到:
相关推荐
《JavaScript入门经典(第3版)》首先介绍了JavaScript的基本语法,并介绍了如何发挥JavaScript中对象的威力。《JavaScript入门经典(第3版)》还介绍了如何操纵最新版本浏览器所提供的BOM对象。在《JavaScript入门经典...
《JavaScript入门经典(第3版)》首先介绍了JavaScript的基本语法,并介绍了如何发挥JavaScript中对象的威力。《JavaScript入门经典(第3版)》还介绍了如何操纵最新版本浏览器所提供的BOM对象。在《JavaScript入门经典...
本资料“JavaScript 入门与提高”由曾光和马军编著,旨在帮助初学者快速掌握JavaScript基础知识,并进一步提升技能水平。 首先,入门阶段,你需要理解JavaScript的基本语法,包括变量声明、数据类型(如字符串、...
《JavaScript入门经典(第3版)》首先介绍了JavaScript的基本语法,并介绍了如何发挥JavaScript中对象的威力。《JavaScript入门经典(第3版)》还介绍了如何操纵最新版本浏览器所提供的BOM对象。在《JavaScript入门经典...
资源名称:JAVAscript入门经典 第6版内容简介:本书是学习Javascript编程的经典教程。全新的第6版涵盖了ECMAscript 6。全书分为8个部分,共26章。首部分“Javascript基础”,包括第1章到第4...
这个"JavaScript入门经典源代码"压缩包很可能是包含了一系列用于初学者学习JavaScript编程的示例代码。通过这些源代码,学习者可以深入理解JavaScript的基础概念、语法结构以及常见功能的实现方式。 1. **基础语法*...
《JavaScript入门经典(第6版)》是由Phil Ballard编著的一本针对JavaScript初学者的经典教程。这本书详尽地介绍了JavaScript的基础知识,旨在帮助读者快速掌握这门强大的编程语言。JavaScript,作为Web开发中的核心...
作为“javascript入门参考资料”这个压缩包,它包含了帮助初学者踏入JavaScript世界的必备资料。 首先,"javascript入门参考资料.ppt"很可能是一个PowerPoint演示文稿,这种格式通常用于教学或讲座,以图文并茂的...
总之,这个"JavaScript入门学习资料包"为初学者提供了一个全面学习JavaScript的平台,从基础到高级,从理论到实践,逐步建立起扎实的JavaScript知识体系。通过系统学习和不断实践,你将能够熟练掌握这门强大的编程...
### JavaScript入门教程知识点详解 #### 一、JavaScript简介与学习理由 **JavaScript**是一种轻量级的编程语言,因其强大的兼容性和简易性成为了前端开发人员的首选。它由Netscape公司在1995年首次推出,起初被...
本资源“javascript入门实用例子”是一个针对初学者的实践教程,旨在帮助你快速理解并掌握JavaScript的基础知识和实际应用。通过使用Eclipse这样的集成开发环境(IDE),你可以更方便地管理和调试代码。 首先,让...
****JavaScript入门经典(第4版 英文版+第3版中文版 附JavaScript参考手册)****《JavaScript入门经典(第4版)》主要内容:·循序渐进介绍JavaScript基础知识,包括JavaScript的含义、原理和功能·介绍用于创建...
JavaScript入门推荐首选书籍推荐
"JavaScript入门经典"是一本旨在帮助初学者掌握JavaScript基础知识的教程,源代码提供给学习者实践和探索。 在"jc_wyzz-JavaScript_rmjd"这个压缩包中,很可能包含了与《JavaScript入门经典》书中的各个章节对应的...
《JavaScript入门经典(第五版)》由Paul Wilton编著,是一本深受读者喜爱的JavaScript学习资源,尤其适合初学者。本书旨在帮助读者快速掌握JavaScript的基础知识,并逐步提升编程能力。 在JavaScript的世界里,你...
JavaScript,一种广泛应用于网页和网络应用的编程语言,是互联网上实现动态交互的关键技术。...通过阅读《JavaScript入门教程.ppt》这个压缩包中的内容,初学者可以逐步深入到JavaScript的世界,开启编程之旅。
这篇"JavaScript入门新手学习笔记"提供了全面的学习资源,适合初学者系统性地掌握这一技术。 笔记可能包含了以下关键知识点: 1. **基础语法**:JS的基础包括变量(var、let、const)、数据类型(如字符串、数字、...
"javascript入门视频教程(比较不错的)" 提供了一个全面学习JavaScript的基础路径,帮助新手逐步掌握这门语言。 本教程可能包含以下核心知识点: 1. **基础语法**:讲解JavaScript的基础,包括变量、数据类型(如...
在"JavaScript入门课件与笔记"中,你可以找到一系列帮助初学者掌握这门语言的资源。这些课件可能包含了从基础语法到高级特性的详细讲解,旨在帮助“小白”逐步建立起对JavaScript的理解。 1. **基础语法**:...
JavaScript入门经典完整版