Javascript 笔记与总结(1-6)Javascript 面向对象

在 JavaScript 中,有对象,没有类(但有构造函数)。

在 JavaScript 中,对象不依赖于类而存在,可以直接生成。

{key:value, key:value} 这种格式的对象,成为 json 格式的对象。

例:

<script>
    var obj = {};
    var obj2 = {key:1};
    var obj3 = {
        key:1,
        key2:function(){
            alert(‘hello world‘);
    }}
    console.log(obj, obj2, obj3);
    obj3.key2();
</script>

输出:

同时弹出:hello world

【js 对象的属性(或方法)也可以任意增添和删除】

① 增加对象的属性

<script>
    var obj = {};
    var obj2 = {key:1};
    var obj3 = {
        key:1,
        key2:function(){
            alert(‘hello world‘);
    }}
    console.log(obj3);
    obj3.key3 = 2;
    console.log(obj3);
</script>

输出:

② 删除对象的属性(或方法)

<script>
    var obj = {};
    var obj2 = {key:1};
    var obj3 = {
        key:1,
        key2:function(){
            alert(‘hello world‘);
    }}
    console.log(obj3);

    //增加对象的属性
    obj3.key3 = 2;
    console.log(obj3);

    //删除对象的属性
    delete obj3.key2;
    console.log(obj3);
</script>

输出:

【总结】

js 中的对象,就是 “ 一组属性与值的集合 ”,属性可以任意增减,方法和属性不必区分。

时间: 2024-10-11 13:46:41

Javascript 笔记与总结(1-6)Javascript 面向对象的相关文章

JavaScript笔记之Function

一.函数定义 (1)使用function declaration 格式:function functionName(parameters) { function body } 注:此种方式声明的函数作用域是全局的,即在声明之前可以调用 (2)使用function expression 格式:var name = function (parameters) { function body }; 注:与(1)不同,在声明之前不可以调用 (3)使用function constructor() 格式:v

javascript笔记(二)

concat() 连接多个字符串,返回合并后的字符串. 1 var s1="a"; 2 var s2="b"; 3 var s3="c"; 4 5 console.log(s1.concat(s2,s3));//abc concat() 方法的结果等同于:result = s1 + s2 + ... + sN.如果有不是字符串的参数,则它们在连接之前将首先被转换为字符串. 数组中的concat():将参数添加为数组的元素,返回新的数组. 1 va

[Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法

js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+1}" 反射获取函数源代码的功能很强大,使用函数对象的toString方法有严重的局限性.toString方法的局限性ECMAScript标准对函数对象的toString方法的返回结果(即该字符串)并没有任何要求.这意味着不同的js引擎将产生不同的字符串,甚至产生的字符串与该函数并不相关. 如果函数

DOM笔记(十三):JavaScript的继承方式

在Java.C++.C#等OO语言中,都支持两种继承方式:接口继承和实现继承.接口继承制继承方法签名,实现继承则继承实际的方法和属性.在SCMAScript中,由于函数没有签名,所以无法实现接口继承,只支持实现继承. 实现继承主要依靠原型链来实现. 一.原型链 原型链是利用原型让一个引用类型继承另一个引用类型的方法,在DOM笔记(十二):又谈原型对象中,描述了构造函数.实例和原型之间的关系: 每个构造函数都有一个原型对象,原型对象包含一个指向构造函数的指针,而每个实例都包含一个指向原型对象的内部

[Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码

函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式传递给eval函数以达到同样的功能.程序员面临一个选择:应该将代码表示为函数还是字符串?毫无疑问,应该将代码表示为函数.字符串表示代码不够灵活的一个重要原因是:它们不是闭包. 闭包回顾 看下面这个图 js的函数值包含了比调用它们时执行所需要的代码还要多的信息.而且js函数值还在内部存储它们可能会引用

《Javascript权威指南》学习笔记之十四:JavaScript内建类

前面的几篇博文分别介绍了对象.字符串.数组.日期等内建类,本篇将介绍Boolean/Math/Function/Arguments类 一.使用Boolean类处理逻辑值 Boolean类是JS的一个封装类,可以用于获取Boolean对象的原始数据类型或者字符串表示形式.new Boolean(value)用于创建一个Boolean对象,Boolean(value)它的参数转换成一个原始的布尔值,并且返回这个值.Boolean对象只有两个值:true或者false. value参数可以省略.如果省

[Effective JavaScript 笔记] 第4条:原始类型优于封闭对象

js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //"number" typeof "s";//"string" typeof null;//"object":ECMAScript把null描述为独特的类型,但返回值却是对象类型,有点困惑. 可以使用Object.prototype.t

Javascript 笔记与总结(1-3)arguments

arguments 是函数运行时的实参列表(对象),每个函数都有自己的 arguments,但不往外层函数寻找 arguments 的相关属性,即不行成链(只有 OA 形成作用域链). 例1 <script> (function(d, e, f){ console.log(arguments); console.log(typeof arguments); })('javascript','programming','!'); </script> console 中输出 [&quo

JavaScript 笔记(2) -- 类型转换 &amp; 正则表达 &amp; 变量提升 &amp; 表单验证

目录:  typeof, null, undefined, valueOf() 类型转换 正则表达式 错误: try, catch, throw 调试工具 变量提升 strict 严格模式 使用误区 表单 & 表单验证 JavaScript void typeof, null, undefined, valueOf() typeof:用于检测变量的数据类型,eg: typeof "John"; // 返回 string 在 JavaScript 中有 5 种不同的数据类型:st

JavaScript(14)jQuery(JavaScript 库)

JavaScript 框架(库) JavaScript 高级程序设计(特别是对浏览器差异的复杂处理),通常很困难也很耗时.为了应对这些调整,许多的 JavaScript (helper) 库应运而生. 这些 JavaScript 库常被称为 JavaScript 框架. jQuery jQuery 是目前最受欢迎的 JavaScript 框架.它使用 CSS 选择器来访问和操作网页上的 HTML 元素(DOM 对象).jQuery 同时提供 companion UI(用户界面)和插件. jQue