ECMAScript 5.0 基础语法(下)“稍微重点一点点”
七、常用内置对象(复杂数据类型)(重点)
(1)数组Array
创建:例 var colors = ['red','blue','green'] #推荐这样,因为简单粗暴
或:var colors = new Array();
color[0] = 'red';
color[1] = 'blue';
color[2] = 'green'; #很繁琐,忘了它吧
数组的常用方法:
//数组的合并concat()
var north = ['北京','山东','天津'];
var south = ['东莞','深圳','上海'];
var newCity = north.concat(south);
console.log(newCity) //join() 将数组中的元素连接起来,变成一个新的字符串
var score = [98,78,76,100,0];
var str = score.join('|');
console.log(str);//"98|78|76|100|0" //slice(start,end);返回数组的一组数据,顾头不顾尾
var arr = ['张三','李四','王文','赵六'];
var newArr = arr.slice(1,3);
console.log(newArr);//["李四", "王文"] //pop 移除数组的最后一个元素
var arr = ['张三','李四','王文','赵六'];
arr.pop();
console.log(arr);//["张三", "李四","王文"] //push 向数组最后添加一个元素
var arr = ['张三','李四','王文','赵六'];
arr.push('小马哥');
console.log(arr);
//["张三", "李四","王文","赵六","小马哥"] //reverse()翻转数组
var names = ['alex','xiaoma','tanhuang','angle'];
names.reverse();
console.log(names); //sort 对数组排序
var names = ['alex','xiaoma','tanhuang','abngel'];
names.sort();
console.log(names);// ["alex", "angle", "tanhuang", "xiaoma"] //isArray 判断是否为数组
布尔类型值 = Array.isArray(被检测的值)
数组常用方法的例子
(2)字符串string
//chartAt() 返回指定索引的位置的字符 var str = 'alex';
var charset = str.charAt(1);
console.log(charset);//l //concat 返回字符串值,表示两个或多个字符串的拼接 var str1 = 'al';
var str2 = 'ex';
console.log(str1.concat(str2,str2));//alexex //replace(a,b) 将字符串a替换成字符串b var a = '1234567755';
var newStr = a.replace("4567","****");
console.log(newStr);//123****755 //indexof() 查找字符的下标,如果找到返回字符串的下标,找不到则返回-1 。跟seach()方法用法一样 var str = 'alex';
console.log(str.indexOf('e'));//
console.log(str.indexOf('p'));//-1 //slice(start,end) 左闭右开 分割字符串 var str = '小马哥';
console.log(str.slice(1,2));//马 //split('a',1) 以字符串a分割字符串,并返回新的数组。如果第二个参数没写,表示返回整个数组,如果定义了个数,则返回数组的最大长度 var str = '我的天呢,a是嘛,你在说什么呢?a哈哈哈';
console.log(str.split('a'));
//["我的天呢,", "是嘛,你在说什么呢?", "哈哈哈"] //substr(statr,end) 左闭右开 var str = '我的天呢,a是嘛,你在说什么呢?a哈哈哈';
console.log(str.substr(0,4));//我的天呢 //toLowerCase()转小写 var str = 'XIAOMAGE';
console.log(str.toLowerCase());//xiaomage //toUpperCase()转大写 var str = 'xiaomage';
console.log(str.toUpperCase());//XIAOMAGE
string字符串常用方法的例子
(3)Math内置对象
//Math.ceil() 向上取整,'天花板函数' var x = 1.234;
//天花板函数 表示大于等于 x,并且与它最接近的整数是2
var a = Math.ceil(x);
console.log(a);// // Math.floor 向下取整,'地板函数' var x = 1.234;
// 小于等于 x,并且与它最接近的整数 1
var b = Math.floor(x);
console.log(b);// // 求两个数的最大值和最小值 //求 两个数的最大值 最小值
console.log(Math.max(2,5));//
console.log(Math.min(2,5));// //随机数 Math.random() var ran = Math.random();
console.log(ran); //[0,1);
math的应用例子
八、函数(重点)
无需多说,哪门语言中,函数应用都很频繁,当然重要。作用就是,规范,简洁,不low。
//js中声明函数
function add(x,y){
return x+y;
}
console.log(add(1,2)); //function相当于python中的def //伪数组arguments
fn(2,4);
fn(2,4,6);
fn(2,4,6,8); function fn(a,b,c) {
console.log(arguments);
console.log(fn.length); //获取形参的个数
console.log(arguments.length); //获取实参的个数 console.log("----------------");
}
//之所以说arguments是伪数组,是因为:arguments可以修改元素,但不能改变数组的长短。举例: fn(2,4);
fn(2,4,6);
fn(2,4,6,8); function fn(a,b) {
arguments[0] = 99; //将实参的第一个数改为99
arguments.push(8); //此方法不通过,因为无法增加元素
} //清空数组的几种方式: var array = [1,2,3,4,5,6];
array.splice(0); //方式1:删除数组中所有项目
array.length = 0; //方式2:length属性可以赋值,在其它语言中length是只读
array = []; //方式3:推荐
函数例子
九、对象Object(重点)
1.使用Object或对象字面量创建对象
2.工厂模式创建对象
3.构造函数模式创建对象
4.原型模式创建对象
/*
// 1.使用Object或对象字面量创建对象 // 对象 是属性和方法
var person = new Object();
console.log(person);
console.log(typeof person); // 给对象赋值
person.name = 'alex';
person.age = 20;
person.fav2 = function(){ }
console.log(person);
// var favfn = function(){
// // this 指的是当前的对象 跟python中的self类似
// console.log(this.name);
// }
var person2 = {
name:'wusir',
age:26,
fav:function(){
// this 指的是当前的对象 跟python中的self类似
console.log(this.name);
}
} console.log(person2); person2.fav();
*/
// 提问: 能不能像工厂车间一样,车床 不断生产对象 ? 工厂模式创建对象 /*
// 2.工厂模式创建对象
function createPerson(name, age) {
var o = new Object();
o.name = name;
o.age = age; return o;
} var person1 = createPerson('alex', 20);
var person2 = createPerson('alex2', 20);
var person3 = createPerson('alex3', 20);
var person4 = createPerson('alex4', 20); // instanceof
console.log(person1 instanceof Object);
console.log(person2 instanceof Object); function createFruit(name, age) {
var o = new Object();
o.name = name;
o.age = age; return o;
} var f = createFruit('苹果',.2);
console.log(f instanceof Object) */ // 3.构造函数模式创建对象 构造函数可以创建对象 使用new 关键字来创建对象 函数名首字母大写
// new Array()
// new Object()
// new String() /*
function Person(name, age) {
this.name = name;
this.age = age;
this.alertName = function() {
alert(this.name);
}
} function Fruit(name, age) {
this.name = name;
this.age = age;
this.alertName = function() {
alert(this.name);
}
} var p1 = new Person('alex1', 20);
p1.alertName(); var f1 = new Fruit('香蕉',30);
f1.alertName(); console.log(p1 instanceof Person);
console.log(f1 instanceof Fruit); console.log(p1 instanceof Object);
*/ // 4.原型模式创建对象 propotype 它是当前对象的父类 function Person(name,age){
this.name = name;
this.age = age; } Person.prototype.alertName = function(){
alert(this.name);
}; var p1 = new Person('alex',20);
var p2 = new Person('alex2',23); // 内存地址 和值
console.log(p1===p2); p1.alertName();
p2.alertName();
对象Object
十、JSON(重点)
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。
/*
// json 是一个轻量级的数据交换格式,json有两种结构:对象 和数组 // 1.对象
// var person = {
// name:'zhangsan '
// } // var packJSON = {"name":"alex","pwd":123};
// console.log(packJSON); // 2.数组 是值的有序集合
var packJSON = [{"name":"alex","pwd":123},{"name":"wusir","pwd":123}]
console.log(packJSON);
*/
// json对象和json字符串转换
// 在数据传输过程中,JSON通常是以字符串的形式传递,但是js更喜欢操作JSON对象,所以Jjson对象和json字符串转换非常重要 /*重要
var jsonStr = '{"name":"alex","pwd":123}'; // (1)json字符串=》json var jsonobject = JSON.parse(jsonStr);
console.log(jsonobject); // (2) 将json对象=》 json字符串
var jsonStr2 = JSON.stringify(jsonobject)
console.log(jsonStr2);
console.log(typeof jsonStr2);
*/
// 3.遍历JSON对象和JSON数组
// (1)遍历JSON对象 /*
var packJSON = {"name":"alex","pwd":123}; // for in for(var k in packJSON){
// k指的是键值的索引
console.log(k+' '+packJSON[k])
} */
// (2) 遍历JSON数组
var packJSON = [{"name":"alex","pwd":123},{"name":"wusir","pwd":123}]; for(var i in packJSON){
console.log(i+' ' + packJSON[i].name + ' ' + packJSON[i].pwd ); }
json例子
下篇(完)!
ECMAScript 5.0 基础语法(下)“稍微重点一点点”的更多相关文章
- ECMAScript 5.0 基础语法(上)
银子: 一般来说,一门编程语言的基础语法都是大同小异的.比如,python的基础语法,包括:数据类型,变量,作用域,运算符,流程控制(if...else...语句),循环,编码,数据类型的操作(增删改 ...
- ECMAScript 6.0基础入门教程
ECMAScript 6.0基础入门教程 转:https://blog.csdn.net/hexinyu_1022/article/details/80778727 https://blog.csdn ...
- swift3.0基础语法
swift 3.0 基础语法 目录 01-变量和常量 02-运算符 03-可选项 04-条件语句 05-循环 06-字符串 07-元组 08-数组 09-字典 10-对象和类 11-枚举 12-属性 ...
- 吾八哥学Python(四):了解Python基础语法(下)
咱们接着上篇的语法学习,继续了解学习Python基础语法. 数据类型大体上把Python中的数据类型分为如下几类:Number(数字),String(字符串).List(列表).Dictionary( ...
- ① Python3.0基础语法
稍微了解一下py2.0和py3.0的区别,Py3.0在设计的时候,为了不带入过多的累赘,没有考虑向下兼容低版本的Py2.0.而在低版本中Py2.6作为过渡版,基本使用Py2.x的语法和库,同时考虑Py ...
- 第4天 | 12天搞定Python,基础语法(下)
为了方便你的学习,减轻负重,我特意将基础语法分成上下两部分.希望你喜欢这种方式,如果不喜欢,你可以跟我说,反正我是不会改的,哈哈~~. 如果上部分,你还没看的话,先去看<第4天 | 12天搞定P ...
- 手把手0基础Centos下安装与部署paddleOcr 教程
!!!以下内容为作者原创,首发于个人博客园&掘金平台.未经原作者同意与许可,任何人.任何组织不得以任何形式转载.原创不易,如果对您的问题提供了些许帮助,希望得到您的点赞支持. 0.paddle ...
- swift3.0基础语法(2)
变量/常量,元组声明 var aaa = 0;//声明变量aaa 首次赋值时自动解析为Int类型 var aaa:Int = 0;//声明Int类型变量aaa let aaa = 0;//声明常量aa ...
- Vue 2.0基础语法:系统指令
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. Vue初体验 新建一个空的项目,引入vue.js文件.写如下代码: &l ...
随机推荐
- Skip List(跳跃表)原理详解与实现
ref : https://dsqiu.iteye.com/blog/1705530 本文内容框架: §1 Skip List 介绍 §2 Skip List 定义以及构造步骤 §3 Skip ...
- 工具——eclipse debug小技巧
1.开启调试: 在代码编辑处右键单击,在弹出菜单中点击Debug As开始调试 2.几个快捷键: F5:跟入Step into, 一般会跟踪进入到调用函数的函数体,Step Over则不会跟踪进入,直 ...
- (十四)Activitivi5之个人任务分配
一.个人任务分配 1.1 方式一:直接流程图配置中写死: 1.2 方式二:使用流程变量 我们在启动流程的时候设置流程变量即可 /** * 启动流程实例 */ @Test public void sta ...
- 验证码识别的免费 OCR
在做接口自动化以及爬虫的过程中,验证码一般是个很烦的存在,其实大厂们已经做好了一些 OCR 供使用,这里介绍一下百度 OCR 的使用方法. 注册并生成应用 1.注册一个百度智能云账号:http://a ...
- XCode下在不同位置声明变量的用法(转)
XCode下在不同位置声明变量的用法 方式一:直接在.h文件@interface中的大括号中声明. @interface Test : NSObject { NSString *str; // 私有变 ...
- JavaScript--常用对象的属性及方法(2)
Array对象(数组) 数组最常用属性:length 获取数组的元素个数 方法: toString() 将数组转换为字符串 var arr = ["武汉市","成都市&q ...
- Apache Log View 5.37破解笔记
i春秋作家:Sp4ce 之前说过要分享这个日志分析工具[记一次简单的攻击日志分析]的破解版,在破解的路上踩了几个坑,记录分享下. 0×00程序概述 原程序 大小: 2283672 字节文件版本: 5. ...
- 部署在SAP Cloud Platform CloudFoundry环境的应用如何消费SAP Leonardo机器学习API
Jerry的前一篇文章 如何在Web应用里消费SAP Leonardo的机器学习API 里介绍的例子是Neo测试环境的Web应用消费sandbox版本的机器学习API,url如下: https://s ...
- ASE19团队项目beta阶段Backend组 scrum2 记录
本次会议于12月5日,19:00在微软北京西二号楼sky garden召开,持续10分钟. 与会人员:Zhikai Chen, Lihao Ran, Xin Kang 请假人员:Hao Wang 每个 ...
- Axure工作区间
Axure的工作环境可进行可视化拖拉操作,可轻松快速的创建带有注释的线框图.无需编程就可以在线框图中定义简单链接和高级交互.Axure可一体化生成线框图.HTML交互原型.规格说明Word文档.以下是 ...