【高级程序设计笔记】

把书中第五章看完了.把一些知识点,有些是自己的理解记录下来,方便自己和同行随时查阅。不足之处请指正。

一,基本类型与引用类型

JavaScript中有五种简单基本类型的数据格式。(复杂类型object这就不说)

1.undefined  

直接调用未定义的值就保错为undefined。

2.Null

常用于使用完某个变量或函数,将它赋值null来进行内存回收。表示为空

3.Boolean

布尔值,用于判断不同情况下的操作。一切实例 或赋值true都讲判断为true。

4.Number

数值

5.String

字符串

按逻辑来讲,基本类型是没有方法的。如下例:

    var str = "hello";
        str.color ="red";
        console.log(str.color); //undefined

给类型为String 的变量str赋值。然后访问,显示undefined。但它又可以调用如substr() slice()等方法。

其原因是在为方便开发。Javascript在创建基本类型时已经在后台创建了该变量的实例对象。所有可以每个基本类型都有自己的一些基本方法。

这可能也就是书中常说一切皆为对象吧。

引用类型有三种,Array(数组)、Object(对象)、Function(函数)

    var ln = {},
        lf = function () {},
        la = [];
        ln.color = "red";
        lf.color = "blue";
        la[0] = "yellow";
        console.log(ln.color,lf.color,la[0]); //red blue yellow

这三种可直接用.或[]来访问和定义属性方法。

睡觉了,下次再补充完。

时间: 2024-12-28 20:18:19

【高级程序设计笔记】的相关文章

javascript高级程序设计——笔记

javascript高级程序设计--笔记 基本概念 基本数据类型包括Undefined/Null/Boolean/Number和String 无须指定函数的返回值,实际上,未指定返回值的函数返回的是一个特殊的undefined值 变量.作用域和内存问题 基本类型值在内存中占据固定大小的空间,因此保存在栈内存中 引用类型的值是对象,保存在堆内存中 确定一个值是哪种基本类型用typeof,确定一个值是哪种引用用instanceof 所有变量都存在于一个执行环境当中,这个执行环境决定了变量的生命周期,

js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定

js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定 addEventListener()与removeEventListener()用于处理指定和删除事件处理程序操作.所有的DOM节点中都包含这两种方法,并且它们都接受3个参数:要处理的事件名.作为事件处理程序的函数和一个布尔值.最有这个布尔值参数是true,表示在捕获阶段调用事件处理程序:如果是false,表示在冒泡阶段调用事件处理程序. 要在按钮上为click事件添加事件处

javascript高级程序设计笔记1

最近在看javascript高级程序设计,看之前觉得自己的js学得还不错,然后,看了没几页就觉得自己好像没有学过一样,这主要写写我以前不完全了解的一些知识. 首先是关于基本数据类型的,从Number开始,以前经常用parseInt来转换数值,看过书才知道,这个函数的本意是专门用于把字符串转换成数值,而且以前也不知道它具体是怎么一个转换规则.先来看看Number()函数的转换规则: 1.如果是Boolean 值,true 和false 将分别被转换为1 和0.2.如果是数字值,只是简单的传入和返回

javascript高级程序设计笔记(第5章 引用类型)

1.Object类型 两种方式定义:对象字面量.new 两种方式访问:括号.点 2.Array类型 2.1  定义方式:new Array.数组字面量 2.2  lenght属性:可以利用它方便的想数组末尾添加元素 2.3  检测数组 instanceof isArray()方法  2.4  toString().soLocaleString().valueOf().join()方法 2.5.栈方法   push()方法:逐个添加到数组末尾,并返回修改后的数组长度 pop()方法:返回数组的最后

【javascript高级程序设计笔记】第六章OOP

忙了一段时间,加了将近一个月的班. 书也落下没看,上次看到第七章(这部分笔记大概还是9月份的吧),偶尔看到很吃力.看的速度慢下来. 学习就是一个慢慢积累慢慢沉淀的过程.看书时没有明显觉得提升.但在看完书后近段时间工作中写代码,明显感觉效率还是有提升,基础知识牢固了. 这本书是第二次看,这次很认真的遍读和做笔记,笔记的文字均是自己边看边敲的,这样才更好的真正的吸收到一部分吧! 这些天在看web响应式设计:HTML5和CSS3实战 第6章 面向对像的程序设计 6.1.1属性类型 ECMAScript

JavaScript高级程序设计笔记之面向对象

说起面向对象,大部分程序员首先会想到 类 .通过类可以创建许多具有共同属性以及方法的实例或者说对象.但是JavaScript并没有类的概念,而且在JavaScript中几乎一切皆对象,问题来了,JavaScript中如何面向对象? JavaScript中将对象定义为:一组无序的 键值对的集合,属性以及方法的名称就是键,键的值可以是任何类型(字符串,数字,函数--) 在JavaScript中,所有对象继承自Object,所有对象继承自Object,所有对象继承自Object! 创建 1  简单创建

javascript高级程序设计笔记(第7章 函数表达式)

7.5 小结 在JavaScript 编程中,函数表达式是一种非常有用的技术.使用函数表达式可以无须对函数命名,从而实现动态编程.匿名函数,也称为拉姆达函数,是一种使用JavaScript 函数的强大方式.以下总结了函数表达式的特点.? 函数表达式不同于函数声明.函数声明要求有名字,但函数表达式不需要.没有名字的函数表达式也叫做匿名函数.? 在无法确定如何引用函数的情况下,递归函数就会变得比较复杂:? 递归函数应该始终使用arguments.callee 来递归地调用自身,不要使用函数名——函数

javascript高级程序设计笔记(第6章 面向对象的程序设计)

1.访问器属性: var book = { _year: 2004, edition: 1 }; Object.defineProperty(book, "year", { get: function(){ return this._year; }, set: function(newValue){ if (newValue > 2004) { this._year = newValue; this.edition += newValue - 2004; } } }); book

JS高级程序设计--笔记

1.JS分三个部分:ECMAScript.DOM.BOM 1)ECMAScript:提供核心语言功能 2)DOM:提供访问和操作网页内容的方法和接口 3)BOM:提供与浏览器交互的方法和接口 2.在html页面写js代码,需要将代码放在<script></script>:并且中间不能出现字符串“</script>” 下方这个代码会报错:alert("</script>"); 可以对它进行转义: alert("<\/scri

javascript高级程序设计笔记2

继续之前的,改说到object类型的了:Object 的每个实例都具有下列属性和方法. constructor:保存着用于创建当前对象的函数.对于前面的例子而言,构造函数(constructor)就是Object(). hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在.其中,作为参数的属性名(propertyName)必须以字符串形式指定(例如:o.hasOwnProperty("name")). isProt