内容
---语法 上一小节
---数据类型 本小节 String类型
---流程控制语句
---理解函数

String类型
--零个或者多个16位Unicode字符组成字符序列,即字符串
--可以由双引号"",或者单引号''表示,没有区别
--引号成对匹配使用,单双引号不能混用

var str = "hello"; //可以
var str1 = 'hello'; //可以
var str2 = "hello'; //语法错误

字符字面量
--特殊字符字面量,转义序列(转义字符)
\n 换行
\t 制表table键
\b 空格
\r 回车
\f 进纸
\\ 斜杠
\' 单引号('),在用单引号表示的字符串中使用,'He said \'hey.\' '
\" 双引号("),在用双引号表示的字符串中使用,"He said \"hey.\" "
\xnn 十六进制代码nn表示一个字符(其中n为0~F) 如,\x41表示"A"
\unnnn 十六进制码表示一个Unicode字符(其中n为0~F)如,\u03a3表示希腊字符Σ

--在双引号字符串中可直接使用单引号,同理单引号中也可直接使用双引号
--字符字面量可出现在字符串任意位置,将被作为一个字符来解析
var text = "This is the letter sigma: \u03a3.";
text //"This is the letter sigma: Σ."
text.length //28

--汉字 匹配中文字符的正则表达式: [\u4e00-\u9fa5]

字符串特点
--字符串一旦创建,不可变。
--要改变某个变量保存的字符串,首先销毁原来的字符串,再用新值填充。

var lang = "Java";
lang = lang + "Script";

--首先创建一个容纳10个字符的新字符串,填充"Java"和"Script"
--最后一步销毁原来的两个字符串。
--后台发生,旧版浏览器字符串拼接速度慢的原因

字符串转换
--几乎每个值都有toString()方法,返回字符串表现,
--数值,布尔值,对象,字符串
--除了null和undefined

var age = 11;
age.toString(); //"11"
var found = true;
found.toString(); //"true"

--数值toString(radix) 可带基数
--返回不同进制数,默认十进制

转型函数String()
--如果值有toString()方法,调用之
--null 返回 "null"
--undefined 返回 "undefined"

--把某个值 + "" ,等同于String();

var a = null;
a + ""; //"null"
var b;
b + ""; //"undefined"
var c = true;
c + ""; //"true"

Object类型
--ECMAScript中的对象其实就是一组数据和功能的集合
--通过new 操作来创建对象,为其添加属性或者方法就可以创建自定义对象

var o = new Object();
var o = new Object; //不建议

--不传参可以省略括号,不建议
--类似java object类是所有类实例的基础
--即Object类具有的任何属性和方法也同样存在于更具体的对象中。

Object的每个实例都具有下列属性和方法
--Constructor:保存用于创建当前对象的函数,构造函数
--hasOwnProperty(propertyName):用于检查给定的属性在当前对象中(不是在实例的原型中)是否存在,其中参数必须是字符串。
--isPrototypeOf(object):检查传入的对象是否是另一个对象的原型
--propertyIsEnumerable(propertyName):检查给定属性是否能够使用for-in来枚举
参数必须字符串
--toLocaleString():返回对象的字符串表示,与执行环境地区对应
--toString():返回对象的字符串表示
valueOf():返回对象的字符串,数值,布尔值表示,通常于toString()方法返回值相同

--技术上说,ecma-262中的对象行为不一定适用于JavaScript中的其他对象,
--比如BOM,DOM,属于宿主对象,由宿主实现提供和定义,可能不继承object

《JavaScript高级程序设计》读书笔记(三)基本概念第三小节 String、Object类型的更多相关文章

  1. 《JavaScript高级程序设计》笔记:基本概念(三)

    数据类型 ECMAScript中有5种简单数据类型(也称为基本数据类型):undefined,null,boolean,number和string. typeof typeof null会返回“obj ...

  2. 《JavaScript高级程序设计》笔记——第一章到第三章

    2019年,新年伊始,我打算好好重读一下<JavaScript高级程序设计>这本前端必备经典书.每天半小时. 以下内容摘自<JavaScript高级程序设计> 2019-2-1 ...

  3. javascript高级程序设计读书笔记

    第2章  在html中使用javascript 一般都会把js引用文件放在</body>前面,而不是放在<head>里, 目的是最后读取js文件以提高网页载入速度. 引用js文 ...

  4. javascript高级程序设计读书笔记-事件(一)

    读书笔记,写的很乱   事件处理程序   事件处理程序分为三种: 1.html事件2. DOM0级,3,DOM2级别  没有DOM1 同样的事件 DOM0会顶掉html事件   因为他们都是属性  而 ...

  5. JavaScript高级程序设计-读书笔记(1)

    第1章 JavaScript简介 JavaScript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成: l        ECMAScript:提供核心语言功能: l        文 ...

  6. javascript高级程序设计 读书笔记1

    第二章  在HTML中使用JS 加载JS有三种:行内,head头部和外部链接JS   最好使用外部链接<script src="example.js" ></sc ...

  7. JavaScript高级程序设计-读书笔记(7)

    第22章 高级技巧 1.高级函数 (1)安全的类型检测 在任何值上调用Object原生的toString()方法,都会返回一个[object NativeConstructorName]格式的字符串. ...

  8. 精读《javascript高级程序设计》笔记一——基本概念

    语法 严格模式 启用严格模式,在脚本顶部或函数内部上方添加"use strict";语句. 数据类型 typeof typeof返回undifined,boolean,number ...

  9. Javascript高级程序设计读书笔记(第三章)

    第3章 基本概念 3.4 数据类型 5种简单数据类型:undefined.boolean.number.null.string. typeof操作符,能返回下列某个字符串:“undefined”.“b ...

  10. JavaScript高级程序设计 读书笔记

    第一章 JavaScript 简介 第二章 Html中使用JavaScript 第三章 基本概念 第四章 变量,作用域,内存 第五章 引用类型 第六章 面向对象 第七章 函数表达式 第八章 BOM 第 ...

随机推荐

  1. ts中的类

    TypeScript 除了实现了所有 ES6 中的类的功能以外,还添加了一些新的用法(部分ES7). 一.ES6中类的主要用法: 1.使用 class 定义类,使用 constructor 定义构造函 ...

  2. Scale9Sprite不要在初始化的时候setCapInsets

    let scale9Sprite = new ccui.Scale9Sprite(filePath);scale9Sprite.setCapInsets(cc.rect(x,y,w,h)); 而非 l ...

  3. php设计模式之观察者模式实例代码

    php提供的两个接口,一个被观察者接口SplSubject,一个或多个观察者接口SPLObserver,和一个可以储存对象的类SplObjectStorage.被观察者有三个方法,需要实现这三个方法, ...

  4. Java:面向对象的编程语言

    java是面向对象的编程语言 Object,就是指面向对象的对象,对象就是实例. 在java里,对象是类的一个具体实例.就像:人,指一个类.你.我.他.张三.李四.王五等则是一个个具体的实例,也就是j ...

  5. Go_MySQL查询插入删除

    什么是预处理? 普通SQL语句执行过程: 客户端对SQL语句进行占位符替换得到完整的SQL语句. 客户端发送完整SQL语句到MySQL服务端 MySQL服务端执行完整的SQL语句并将结果返回给客户端. ...

  6. linux备忘命令

    1,安装vim以后把vim中的tab键设置为4个空格 vim ~/.vimrc一下,如果没有会创建新的, 然后添加下面两行: set ts=4 set expandtab 如果第二行内容是noexpa ...

  7. python测量代码运行时间方法

    Python 社区有句俗语: “python自己带着电池” ,别自己写计时框架. Python3.2具备一个叫做 timeit 的完美计时工具可以测量python代码的运行时间. timeit 模块: ...

  8. python如何将自己写的代码打包供他人使用

    背景: 利用setuptools来实现,所以先安装setuptools,其实Python2.7.9及之后的版本都自带安装setuptools了,无需在另外安装 如果没有安装setuptools的直接下 ...

  9. vue中用 async/await 来处理异步

    原文作者:https://www.cnblogs.com/SamWeb/p/8417940.html 昨天看了一篇vue的教程,作者用async/ await来发送异步请求,从服务端获取数据,代码很简 ...

  10. c++调用自己编写的静态库(通过eclipse)

    转:https://blog.csdn.net/hao5335156/article/details/80282829 参考:https://blog.csdn.net/u012707739/arti ...