JavaScript高级编程——引用类型、Array数组使用、栈方法
JavaScript高级编程——引用类型、Array数组使用、栈方法
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>引用类型</title>
</head>
<body>
<script> /*
创建Object类型实例的方式有两种
1.使用New操作后跟Object构造函数
2.对象字面量表示法
*/ //使用New操作后跟Object构造函数
var person = new Object();
person.name = "Nicholas";
person.age = 18; //与new Object()相同,而且能给人封装数据的感觉
var personlog = {};
personlog.name = "Nicholas";
personlog.age = 18; //对象字面量表示法,在使用对象字面量语法时,属性名也可以使用字符串
var persontwo =
{
name: "Nichola",
age: 29,
5: true
}
console.log(person);
console.log(persontwo); function dispalyInfo(args) {
var output = "";
if (typeof args.name == "string") {
output += "Name:" + args.name + "\n";
}
if (typeof args.age == "number") {
output += "Age:" + args.age + "\n";
}
alert(output);
} dispalyInfo({ name: "Nichholas", age: 29 });
dispalyInfo({ name: "Greg" }); /*
Array类型,创建数组的基本方式有两种 第一种使用Array构造函数,可以设置length值为20的数组,也可以向Array构造函数传递数组中包含的值
var colors = new Array(20);
var colors = new Array("red","blue","green");
在使用array构造函数时,也可以省略new操作符
var colors = Array(20);
var colors = Array("red"); 第两种创建数组的第二种基本方式是使用数组字面量表示法,数组字面量由一对包含数组项的方括号表示,
多个数组项之间以逗号隔开, var names = [];创建一个空数组 */
var colors = new Array();
var colorssplit = ["red", "blue", "green"];
var names = []; alert("colorssplit的数组长度为:" + colorssplit.length); //3
alert("空数组的数组长度为:" + names.length); //0 console.log("toString:" + colorssplit.toString());
console.log("valueOf:" + colorssplit.valueOf());
console.log("colorssplit:" + colorssplit);
alert("使用toString返回数组的值" + colorssplit.toString());
alert("使用valueOf返回数组的值" + colorssplit.valueOf());
alert("直接返回数组的值" + colorssplit); /*
toString和toLocaleString
*/
var person1 =
{
toLocaleString: function () {
return "Nikolaos";
},
toString: function () {
return "Nicholas";
}
}; var person2 =
{
toLocaleString: function () {
return "Grigorios";
},
toString: function () {
return "Greg";
}
}; var people = [person1, person2];
alert("people:" + people);
alert("people.toString:" + people.toString());
alert("people.toLocaleString:" + people.toLocaleString()); console.log("people.toString:" + people.toString());
console.log("people.toLocaleString:" + people.toLocaleString()); //使用join方法,可以使用不同的分隔符来构建这个字符串
var colorjoin = ["red", "blue", "green"];
alert(colorjoin.join(","));
alert(colorjoin.join("||"));
console.log("colorjoin:使用,逗号" + colorjoin.join(","));
console.log("colorjoin:使用||分号" + colorjoin.join("||")); /*栈方法 push方法和pop
push()方法可以接收任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数组的长度
pop()方法则从数组末尾移除最后一项,减少length值,然后返回移除的值
*/
alert("进入栈方法 push方法和pop")
var colorspush = Array(); //创建一个数组
var count = colorspush.push("red", "green");//推入两项
alert("推入(red、green)" + count); count = colorspush.push("black"); //推入另一项
alert("推入(red、green、black)" + count); var item = colorspush.pop(); //取得最后一项
alert("使用pop得到是black:"+item);
alert("使用pop方法数组移除一位,数组长度为:"+colorspush.length); //2
/*
队列方法,栈数据结构的访问规则是Lifo(后进先出),队列在列表的末端添加项,从列表的前端移除项
由于push()是向数组末端添加项的方法,因此要模拟队列只需要一个从数组前端取得项的方法,实现这
一操作的数组方法就是Shift(),它能移除数组中的第一个项并返回该项,同时数组长度减1,
结合使用shift和push就可以像使用队列一样使用数组
ECMAScript还为数组提供了一个unshift()方法,与shift的用途相反
它能在数组前端添加任意个项并返回数组的长度,可以从相反的方向来模拟队列
*/
var colorspop = Array(); //创建一个数组
var countpop = colorspop.push("red", "blue"); //推入两项
alert("推入(red、blue)" + countpop);
countpop = colorspop.push("black");
alert(countpop); var itempop = colorspop.shift(); //取得第一项
alert("使用shift取得第一项:"+itempop); //pop取得是red
alert("使用shift数组长度减一:" + colorspop.length); //返回的length值是2,shift取得第一项,同时数组的长度减1 var colorUnShift = Array(); //创建一个数组
var countUnShift = colorUnShift.unshift("red", "green"); //推入两项
alert("使用unshift推入:" + countUnShift); //2
countUnShift = colorUnShift.unshift("black");
alert("使用unshift再次推入:" + countUnShift); //3
var itemUnShift = colorUnShift.pop();
alert("获取最后一项:" + itemUnShift); //green
alert(colorUnShift.length); //2 </script>
</body>
</html>
JavaScript高级编程——引用类型、Array数组使用、栈方法的更多相关文章
- JavaScript高级程序设计--对象,数组(栈方法,队列方法,重排序方法,迭代方法)
1.使用对象字面量定义对象 var person={}; 使用这种方式创建对象时,实际上不会调用Object构造函数. 开发人员更喜欢对象字面量的语法. 2.有时候需要传递大量可选参数的情形时,一 ...
- JavaScript引用类型之Array数组的栈方法与队列方法
一.栈方法 ECMAScript数组也提供了一种让数组的行为类似与其他数据结构的方法.具体的来说,数组可以变现的向栈一样,栈就是一种可以限制插入和删除向的数据结构.栈是一种LIFO(Last In F ...
- JavaScript高级编程——Array数组迭代(every()、filter()、foreach()、map()、some(),归并(reduce() 和reduceRight() ))
JavaScript高级编程——Array数组迭代(every().filter().foreach().map().some(),归并(reduce() 和reduceRight() )) < ...
- JavaScript中的内置对象-8--1.Array(数组)-Array构造函数; 数组的栈方法; 数组的转换方法; 数组的操作方法; 删除-插入-替换数组项; ECMAScript为数组实例添加的两个位置方法;
JavaScript内置对象-1Array(数组) 学习目标 1.掌握任何创建数组 2.掌握数值元素的读和写 3.掌握数组的length属性 如何创建数组 创建数组的基本方式有两种: 1.使用Arra ...
- JavaScript高级编程———JSON
JavaScript高级编程———JSON < script > /*JSON的语法可以表达一下三种类型的值 简单值:使用与javas相同的语法,可以在JSON中表达字符串.数值.布尔值和 ...
- JavaScript高级编程———基本包装类型String和单体内置对象Math
JavaScript高级编程———基本包装类型和单体内置对象 <script> var stringObject = new String("hello world") ...
- JavaScript高级编程———数据存储(cookie、WebStorage)
JavaScript高级编程———数据存储(cookie.WebStorage) <script> /*Cookie 读写删 CookieUtil.get()方法根据cookie的名称获取 ...
- javascript高级编程笔记01(基本概念)
1.在html中使用JavaScript 1. <script> 元素 <script>定义了下列6个属性: async:可选,异步下载外部脚本文件. charset:可选, ...
- 思维导图(自己整理,希望对大家有用):JavaScript函数+canvas绘图+Array数组
1.javascript函数: 2.Array数组: 3.canvas绘图:
随机推荐
- Storm入门示例
开发Storm的第一步就是设计Topology,为了方便开发者入门,首先我们设计一个简答的例子,该例子的主要的功能就是把每个单词的后面加上Hello,World后缀,然后再打印输出,整个例子的Topo ...
- mybatis四大接口之 ParameterHandler
1. 继承结构 只有一个默认的实现类 2. ParameterHandler 获取参数对象: 设置参数对象: public interface ParameterHandler { Object g ...
- 修改git全局初始化的用户名
今天我把文件上传到码云的时候出现 翻译的话就是 用户名不能多个值 这样的错误 所以想要解决这个错误的话非常简单 $ git config --global --replace-all user ...
- iframe 自适应高度和宽度
<iframe src="pay/index.aspx" marginheight="0" marginwidth="0" frame ...
- To B运营和To C运营到底有什么区别?
无论To B还是To C运营其本质都是从目标用户转化为付费用户实现产品的变现,但是两者之间仍然存在一定的区别. 单纯从概念上来说,To B和To C的区别主要是从电商兴起的,并随着互联网的快速发展,T ...
- flex布局中transform出错
在flex布局下,若应用transform 的动画的子元素没有使用进行定位,则动画过程中,子元素将相对display:flex的元素进行static定位 动画结束后位置正常: 修复代码只需要posit ...
- Mac 下使用 brew 安装软件
官网:http://brew.sh/安装 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/m ...
- [Python 从入门到放弃] 1. 列表的基本操作
''' 列表 Create By 阅后即焚 On 2018.1.29 ''' 1. 列表的定义 列表看起来好像其它编程语言中的数组,但列表具备更加强大的功能,它是Python完备的集合对象,现在,你可 ...
- 复刻smartbits的国产网络测试工具minismb-使用burst模式
复刻smartbits的国产网络性能测试工具minismb,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此工具测试任何ip网络设备的端口吞吐率,带宽,并发连接数 ...
- k8s一点
1.kubectl get secret -n kube-system|grep admin-token kubernetes-dashboard-admin-token-9q757 2.kubec ...