`

js 高级学习笔记 ( 七 ) 引用类型

 
阅读更多

1,  引用类型通常叫 , 类 class

 

var   o = new Object();

    有参数要用括号, 没有参数 也可以不用括号 

 

var o = new Object;

 

     注意:尽管括号不是必需的,但是为了避免混乱,最好使用括号。

 

2,  ECMAScript 中的Object 对象和 java中的Object 对象很像. 

 

     其他的对象都继承自Object 对象 , Object的所有属性方法都会出现在其他对象中. 

 

 

3,  Object 属性 

 

      constructor

                   对创建对象的函数的引用 (指针),   该指针指向Object()函数 .

      Prototype 

对该对象原型的引用, 默认返回Object 对象的实例. 

 

4,  Object 方法

 

     判断对象是不是有某个属性 :                            hasOwnProperty(property)     

 

     判断对象是不是另一个对象的原型:                    isPrototypeof(object)

 

     判断这个属性是不是能用for ... in 进行 遍历       propertyIsEnumerable

 

     返回对象的原始字符串表示     toString()

 

     返回最适合该对象的原始值 ,  大部分情况下和 toString()方法相同 . 

 

     -----------------------

      上面的每种属性方法都会被其他对象覆盖.

 

 

5,   Boolean 对象 

 

      Boolean 对象是对 boolean 原始类型的引用类型

 

    ----------

var  oBooleanObj = new Boolean(true) ;

    总之 这玩意儿不好用 ,直接用原始类型好了 .

 

6,   Number 对象 

 

      number对象的引用类型  Number对象 ...

 

var oNumberObject = new  Number(95);
  

     toFixed() 方法 :  返回指定位数的小数的字符串 .

 

var nMyNumber = new Number(89);
alert(nMyNumber.toFixed( 2 )) ;         // 输出 89.00

    toFixed() 方法能返回 0-20 小数的数字, 超过了就会引发错误 .

 

    toExponential ()方法表示 科学计数法

 

    toPrecision() 方法 邪门的很 , 

    -----------

    number对象也少用 .http://www.w3school.com.cn/js/jsref_obj_number.asp 参考手册

 

 

7,  String 对象 

 

      toString()方法 和 valueOf 方法相同.  

 

alert(oStringObject.valueOf() == oStringObject.toString());	//输出 "true"    

    -------------

   怎么知道字符串有多长呢  ?

 

    length 属性

 

var oStringObject = new String("hello world");
alert(oStringObject.length);	//输出 "11"  

   ------------

   怎么样取得字符串指定位置的值呢  ? 

   charAt() 方法和 charCodeAt()方法 

 

var oStringObject = new String("hello world");
alert(oStringObject.charAt(1));	//输出 "e"

   charAt ()  返回指定位置的字符的字符串.   

 

var oStringObject = new String("hello world");
alert(oStringObject.charCodeAt(1));	//输出 "101"

 

    charCodeAt () 得到ASCII 码 .

 

    ------- 

    怎么样连接两个字符串呢 ?  

     concat() 方法 

 

var oStringObject = new String("hello ");
var sResult = oStringObject.concat("world");
alert(sResult);                      //输出 "hello world"
alert(oStringObject);            //输出 "hello "

 

    concat() 方法连接两个字符串并保持 原字符串对象不变 .

    可以用 "+" 号来代替 .

 

   ---------

    怎么知道字符串中是否存在某个字符 ?

 

     indexOf () 方法 ,  返回字符的下标 , 找不到就返回 -1 .

 

var oStringObject = new String("hello world!");
alert(oStringObject.indexOf("o"));		输出 "4"
alert(oStringObject.lastIndexOf("o"));	输出 "7"

   lastIndexOf()  和 indexOf()相反 从字符串的末尾 开始向前检索 .

 

   ---------

    怎么进行字符串排序比较 ?? 按字母的先后顺序 比较 ... 

 

     localCompare()方法

 

var oStringObject = new String("yellow");
alert(oStringObject.localeCompare("brick"));		//输出 "1"
alert(oStringObject.localeCompare("yellow"));		//输出 "0"
alert(oStringObject.localeCompare("zoo"));		//输出 "-1"
 

    那怎么判断 两个值 的前后呢,  用什么来标识呢  ?  

 

    用正数 ,负数 , 和  零 .  所以不是一定会返回 1, 0 和-1 , 的 实现不同会有不同. . 

 

var oStringObject1 = new String("yellow");
var oStringObject2 = new String("brick");

var iResult = sTestString.localeCompare("brick");

if(iResult < 0) {
  alert(oStringObject1 + " comes before " + oStringObject2);
} else if (iResult > 0) {
  alert(oStringObject1 + " comes after " + oStringObject2);
} else {
  alert("The two strings are equal");
}

   按上面的写比较好. 

 

   ---------

 

   怎么样去截取字符串呢 ?  

 

    有两个方法 slice() ,subString() 方法..  

    他们和concat() , 方法一样不会改变String原始对象 , 只是返回String的值

 

    那他们有什么区别,不都一样吗  ?  有什么应用场景

 

    subSting 处理的参数都是正数 , 碰到负的参数就变成 0 . 

    slice() 会用 字符串的长度 加上负数 , 作为新的参数. 

 

var oStringObject = new String("hello world");
alert(oStringObject.slice("-3"));		        //输出 "rld"
alert(oStringObject.substring("-3"));	        //输出 "hello world"
alert(oStringObject.slice("3, -4"));		//输出 "lo w"
alert(oStringObject.substring("3, -4"));	//输出 "hel"

   当只有参数 -3 时,slice() 返回 "rld",substring() 则返回 "hello world"。这是因为对于字符串 "hello world",slice("-3") 将被转换成 slice("8"),而 substring("-3") 将被转换成 substring("0").

 

   ---------

   怎么进行大小写的转换类 >?<

   toLowerCase() 

   toUpperCase()

   toLocalLowerCase()

   toLocalUpperCase()  

 

   为什么会有 toLocal 方法呢,  个别地区的大小写转换有特定的规则 ,所以不知道的地方可以用Local ..

   ----------

   怎么判断两个 类型是否一样  ?

 

   js 里面有 instanceof 和Java的一样 

 

var oStringObject = new String("hello world");
alert(oStringObject instanceof String);	//输出 "true"
 

 

分享到:
评论

相关推荐

    JavaScript学习笔记整理之引用类型

    JavaScript中的引用类型是编程语言中的一种数据结构,它允许我们将数据和相关操作组合在一起,使得代码更加灵活且易于管理。JavaScript中的引用类型主要包括Object、Array、Date、RegExp等,它们都是基于引用而不是...

    javascript高级编程(学习笔记 包括 1 , 2 版)

    JavaScript 高级编程的学习笔记涵盖了ECMAScript中的基础概念,特别是关于变量、数据类型和运算符的使用。在ECMAScript中,变量可以存储两种基本类型的值:原始值(Primitive Values)和引用值(Reference Values)...

    《JavaScript高级编程》学习笔记之object和array引用类型

    JavaScript是一种基于原型的脚本语言,它具备灵活而强大的对象和数组引用类型。对象和数组是引用类型,这意味着它们存储的是引用的值而不是实际的数据值。在JavaScript中,对象和数组是用于存储和操作数据的关键构建...

    javascript入门学习笔记

    这份"javascript入门学习笔记"旨在为初学者提供一个全面且深入的JavaScript学习路径。 一、基础语法 JavaScript的基础包括变量、数据类型、操作符、流程控制等。变量用于存储数据,数据类型分为基本类型(如字符串...

    JavaScript高级程序设计2,学习笔记---第一篇

    这篇学习笔记将带你探索JavaScript的核心概念,包括变量、数据类型、控制流、函数、对象和类等,这些都是构建复杂应用程序的基础。 首先,我们要了解JavaScript的基础语法。在JavaScript中,变量是存储数据的容器,...

    javascript高级学习笔记整理

    JavaScript是一种广泛应用于Web开发的动态编程语言,尤其在前端领域占据着核心...总的来说,JavaScript的高级学习涉及面向对象、数据类型、对象和数组等多个方面,理解这些知识点对于深入掌握JavaScript编程至关重要。

    李立超JavaScript基础篇笔记

    JavaScript,简称JS,是由Brendan Eich在1995年创造的一种高级编程语言,最初目的是为了增强网页的交互性,特别是在前端进行表单验证。JavaScript不是Java的子集,两者之间没有直接关联。JS起初名为LiveScript,但在...

    我的JavaScript学习笔记

    这篇学习笔记将带你深入了解JavaScript的基础和一些进阶应用。 首先,我们从"Js基本语法"开始。JavaScript是一种弱类型、解释型的脚本语言,它支持变量声明(var、let、const)、数据类型(包括基本类型:字符串、...

    狂神说系列 JavaScript笔记

    - 变量与数据类型:JavaScript支持动态类型,包括基本类型(如数字、字符串、布尔值)和引用类型(如对象和数组)。了解如何声明变量(var、let、const)和类型转换至关重要。 - 运算符:包括算术运算符、比较...

    Java+JDK6学习笔记

    3. **基础语法**:学习Java的基础语法,包括数据类型(原始类型和引用类型)、运算符、流程控制(条件语句和循环语句)、方法定义与调用、类与对象的概念、封装、继承和多态性等核心概念。 4. **异常处理**:理解...

    JavaScript学习笔记.docx

    随着学习深入,还可以掌握更高级的概念,如作用域、闭包、原型链,以及各种JavaScript库和框架,如jQuery、React或Vue.js等,从而能够设计和实现复杂的Web应用程序。在Node.js环境下,JavaScript还能用于服务器端...

    经典、简单C#学习笔记

    综上所述,"经典、简单C#学习笔记"涵盖了C#语言从基础到进阶的全面内容,适合初学者入门,也对有一定经验的开发者有参考价值。通过深入理解和实践这些知识点,你将能够熟练掌握C#,并在各种应用场景中游刃有余。

    毕设&课设&项目&实训-基于JavaScript高级程序设计第四版的学习笔记.zip

    这本“JavaScript高级程序设计第四版”的学习笔记涵盖了JavaScript的各个方面,旨在帮助学生、开发者以及对编程感兴趣的人深入理解这一强大的脚本语言。这份笔记是针对毕设、课设、项目实训等实践性学习场景编写的,...

    JavaScript入门学习笔记.pdf

    JavaScript是一种广泛应用于网页和网络应用的轻量级、解释型的编程语言,主要用来增加网页的交互性和...学习JavaScript不仅涉及语法和基本概念,还需要熟悉DOM操作、事件处理、AJAX请求、函数、对象、闭包等高级特性。

    JavaScript学习笔记

    总之,这份"JavaScript学习笔记"涵盖了从基础到高级的JavaScript知识,无论你是初学者还是经验丰富的开发者,都能从中获益。通过学习和实践,你将能更好地驾驭这门语言,创造更多精彩的Web应用。

    XML高级编程学习笔记

    XML(eXtensible Markup Language...通过《XML高级编程》的学习,读者可以深入了解XML的各个方面,并掌握如何在实际项目中应用这些技术,无论是构建Web服务、数据交换,还是处理复杂的XML文档,都将变得更加得心应手。

    javascript 学习笔记

    总之,JavaScript学习笔记涵盖了从基础语法到高级特性的广泛内容,包括数据类型、控制结构、函数、对象、数组、DOM操作、事件处理、错误处理、异步编程以及其在Web开发中的实际应用。通过深入学习这些知识点,你将...

Global site tag (gtag.js) - Google Analytics