博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《JavaScript高级程序设计》读书笔记(三)基本概念第三小节 String、Object类型...
阅读量:4946 次
发布时间:2019-06-11

本文共 1936 字,大约阅读时间需要 6 分钟。

内容

---语法 上一小节
---数据类型 本小节 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

 

转载于:https://www.cnblogs.com/loveluking/p/9429326.html

你可能感兴趣的文章
离线数据分析流程介绍
查看>>
2012-08-06
查看>>
Tips of windows mobile development
查看>>
【转】 Linux下的多线程编程
查看>>
SVN服务器搭建和使用(一)
查看>>
严重: Catalina.stop: java.net.ConnectException: Connection refused: connect
查看>>
【leetcode 简单】 第六十八题 二叉搜索树的最近公共祖先
查看>>
苏宁安全架构演进及实践——阅读心得
查看>>
[HDU] 2610 Sequence one 非地图求解类的广搜,注意空间复杂度
查看>>
PAT 乙级 1033
查看>>
java的守护线程与非守护线程
查看>>
java排序算法
查看>>
XML 命名空间
查看>>
Selenium和Firefox对应版本及注意事项
查看>>
Linux文件系统基本结构
查看>>
九度oj 题目1438:最小公倍数
查看>>
Sublime Text 由于中文用户名导致无法安装插件
查看>>
Cocos2dx.3x入门三部曲-Hello Game项目解析(三)
查看>>
EL表达式
查看>>
git学习(2)----入门
查看>>