22/04/30本周总结
本周总结
本周学习内容
由于各种原因,导致近期学习效率不高,于是我决定换一下脑子,算法先停一停,适当研究一下其他方面的内容,碰巧想起来了前不久看到的一本比较有意思的一本书《JavaScript百炼成仙》,那最近就用一小段时间把这本书看完吧!
学习内容总结
day1
//变量的声明:
/*
直接量包含数值(如10/20)、逻辑值(true/false)、字符串(如“Hello”)、null、undefined、对象和函数
null是一个特殊的关键字,表示没有值;null也是一个原始值, 因为JavaScript是大小写敏感的,所以null和Null、NULL或者其他变 量是有区别的
undefined是一个顶级属性,它代表某一个变量未定义。同样, undefined也是一个原始值*/// //原生数据类型:
// var a = "HelloWorld";
// var b = 'HelloWorld';
// var c = 10;
// var d = false;// //对象数据类型
// var container = {// caoyao : "解毒草",
// feijian : '乌木剑'
// };
// var container1 = {};
// container1.caoyao = "解毒草";
// container.feijian = "乌木剑";// //如果事先 属性的名称未知,或者调用的属性是动态变化的,就不能使用点号了,使用中括号可以最大程度地提升对象调用属性的灵活度
// var prop = 'caoyao';
// console.log(container[prop]);
//
// var i = 6;
// // while(i--){// // console.log(i);
// // }
//
// var fun = function(){};// //typeof函数
// console.log(typeof(i));
// console.log(typeof(container));
// console.log(typeof(fun));// //遍历对象
// var yeXiaoFan = {// name : "叶小凡",
// age : 18,
// eat : function () {// console.log("KFC");
// }
// };// for(var i in yeXiaoFan){// // console.log(i);
// console.log(i + " = " + yeXiaoFan[i]);
// }// //数组
// var arr = ["one", "two", "three"];
// console.log(arr);
// //[ 'one', 'two', 'three' ]
// var a = new Array();
// var b = new Array(8);
// b[0] = "one";
// var c = new Array("first", "second", "third");
// console.log(c.length);
// //3//——————————————————————————————————————————————————————————————//数组方法// //push方法:(直接在尾部插入元素,并且原来的Array申请的空间无法使用)
// var a = new Array(8);
// a.push("苹果");
// a.push(3);
// a.push(null);
// console.log(a);
// //[ <8 empty items>, '苹果', 3, null ]
//
// //pop方法:(直接删除数组尾部元素)
// a.pop();
// console.log(a);
// //[ <8 empty items>, '苹果', 3 ]
//
// //splice方法:
// // (插入、删除或替换数组元素,共有三个参数:第一个参数表示起始下标(从零开始),第二个参数表示操作位数,第三个参数表示修改后的元素)
// var b = [11, 22, 33, 44, 55, 66];
// b.splice(2, 2,3, 4); //可以将一个元素替换成两个元素,
// console.log(b);
// //[ 11, 22, 3, 4, 55, 66 ]
//
// //join方法:(将数组元素以字符串形式输出,元素通过指定的分隔符进行分隔的,而这指定的分隔符就是join方法的参数)
// var str = b.join('~');
// console.log(str);
day2
// //函数定义:
// //跟fun2相比,此种方法可以在语句之前调用,它会被预加载
// function fun1() {// //document.write函数表示用JavaScript向页面输出一句话
// document.write("This is my first function!<br>");
// }
// //跟fun1相比,此种方法定义的函数只能在语句之后使用,因为它没有被预加载
// var fun2 = function(){// document.write("This is my second function!<br>")
// }
// fun1();// //作用域:全局作用域、函数作用域
// //特殊案例:
// if(false){// var a = 10;
// }
// console.log(a);
// //underfined// //函数传参
// function fun(a) {// console.log(a);
// }
// fun();
// //underfined
// function fun2 (a, b, c) {// var sum = a+b+c;
// console.log(sum);
// }
// fun2(2);
// //NaN
//
// // 函数默认argument数组:JavaScript中函数传参中会默认使用argument数组记录其中传入的参数
// // 因此可以利用argument这个特性对函数进行未知个数传参,然后对传参数累加计数,实现未知个数参数传参
// function fun3 (a, b, c) {// console.log(arguments);
// a = arguments[0];
// b = arguments[1];
// c = arguments[2];
// var sum = a+b+c;
// console.log(sum);
// }
// fun3(1, 2, 3, 4);
// // [Arguments] { '0': 1, '1': 2, '2': 3, '3': 4 }
// // 6// //闭包
// function fun1() {// var a = 0;
// return function () {// console.log(a);
// }
// }
// fun1()(); //第一个()用来调用fun1,第二个()调用内部匿名函数
// //0
// /*
// 正常情况下,我们调用一个函数, 其里面的局部变量会在函数调用结束后销毁,这也是我们在全局作用域里面无法访问函数局部变量的原因。
// 但是,如果你使用了闭包,那么就会让这个局部变量不随着原函数的销毁而销毁,而是继续存在。
// 比如我反复调用这个内部函数,就会发现这个变量a一直存在,就好像是一个 全局作用域里面的变量似的。
// 这种写法就相当于在全局作用域里面定义了一个变量a,然后在函数中操作全局变量。
// 但是用这样的形式操作,也就是利用闭包操作可以减少很多不必要的全局变量。
// 在闭包里面可以访问外部函数中的局部变量,这种变量如何抹除?
// 只要在某一个特定的时刻手动将那个变量赋值为null。JavaScript会自动扫描函数中值为null的变量,一旦找到就会自动清除这些无用的变量。
// */
// function fun2() {// var b = 0;
// return function (i) {// b += i;
// console.log(b);
// }
// }
// var test = fun2();
// //第一次调用
// test(1);
// //第二次调用
// test(1);
// //第三次调用
// test(1);
// //输出1、2、3//this:永远指向当前函数的调用者。
//第一个信息,this要么不出现,一旦出现,就一定出现在函数中。
//第二个信息,this指向函数的调用者,换句话说,这个函数是谁调用的,那么this就是谁。// //JavaScript里面分为全局作用域和函数作用域,在全局作用域里面定义的任何东西,不管是一个变量还是一个函数,其实都是属于window对象的
// //对象可以通过两种方式调用它里面的属性。第一种是点的方式
// function hello(){// console.log(this);
// }
// window.hello();
// //第二种方式是使用中括号,即对象[属性名称],属性名称可以是一个字符串,也可以是一个变量
// window['hello']();
// function hello2(){// console.log(this);
// }
// new hello2();
// var newObject = new hello2();
// console.log(newObject);// //回调函数:把一个函数的定义当作参数传递给另一个函数
// function eat (food, howToEat, tiaoliao) {// alert(tialiao + "," + howToEat + "吃" + food);
// }
// eat('羊肉串', "笑嘻嘻的", "撒一把孜然");
//
// function eat (food, callback) {// callback(food);
// }
// eat(food, function (food) {// alert("笑嘻嘻的" + food);
// });
day3:
未完待续……
22/04/30本周总结相关推荐
- LiDAR 22.04.30课堂笔记文件汇总
激光雷达按载荷平台分类有那些? 1.机载激光雷达 机载激光雷达是将激光测距设备.GNSS设备和INS等设备紧密集成,以飞行平台为载体,通过对地面进行扫描,记录目标的姿态.位置和反射强度等信息,获取地表 ...
- 他用几个公式解释了现金贷业务的风控与运营 (下) 2017-09-18 22:04 风控/运营/违约 “金额如此小的业务,成本极度敏感,刚开始的时候我们在数据成本和坏账成本之间特别纠结。” 以上是许
他用几个公式解释了现金贷业务的风控与运营 (下) 2017-09-18 22:04风控/运营/违约 "金额如此小的业务,成本极度敏感,刚开始的时候我们在数据成本和坏账成本之间特别纠结.&qu ...
- Ubuntu 22.04下载安装VMware Workstation Pro 17
Ubuntu 22.04下载安装VMware Workstation Pro 17 一.下载 打开浏览器,访问VMware的官方网站:https://www.vmware.com 页面打开后,点击菜单 ...
- Ubuntu 22.04 LTS 入门安装配置优化、开发软件安装一条龙
例行前言 最近在抉择手上空余的笔记本(X220 i7-2620M,Sk Hynix ddr3 8G*2 ,Samsung MINISATA 256G)拿来运行什么系统比较好,早年间我或许还会去继续 ...
- Ubuntu 22.04下加快rust的编译速度
在学习Rust的时候,相信不少人和我一样一直受Rust编译慢的问题困扰.最近阅读一篇写得相当不错的英文博客<Tips for Faster Rust Compile Times>,加上最近 ...
- VMware Workstation创建Linux Ubuntu 22.04.1 desktop虚拟机
在上期,我们已经说过,今天会有神秘彩蛋.彩蛋是什么呢?那就是:Windows阶段会告一段落,从这篇文章开始我们会去学习创建Linux虚拟机. 你可能都没有听说过?但在我们程序员中是如雷贯耳的(虽然我现 ...
- Ubuntu 22.04 LTS安装Modelsim SE 2020.4
前言 教程中的部分内容参考自易特创芯论坛,鉴于论坛相关资料有些零散.安装步骤繁琐或是存在错误.部分原理性问题未解释清楚人云亦云.导致为入门者带来了困难等原因,为此梳理出一篇相对完整的教程 准备工作 · ...
- new Date('2014/04/30') 和 new Date('2014-04-30') 的区别
new Date('2014/04/30') Wed Apr 30 2014 00:00:00 GMT+0800 (中国标准时间) new Date('2014-04-30'); Wed Apr 30 ...
- 11.04.30 半夜清晨
好一阵子没来blog了. 没错,间歇性迷茫. 期中考的缘故,两周没碰题. 最近又开始刷usaco,先恢复下手感脑感. 但是,真的是刷题无力.各种无力. 但是呢,哥是不会放弃的,这个不用怀疑. 院科协换 ...
最新文章
- Failed to resolve:com.android.support:appcompat-v7:报错处理
- robotframework常见问题解决汇总
- 创建域名Linux服务器,linux 构建域名服务器
- Android 插件框架机制之Small
- 20165333第一次课堂测试补漏
- python3精要(28)-filter
- Django 3.2.5博客开发教程:使用富文本编辑器添加数据
- (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节6:设备的分配和回收
- python traceback_深入学习Python列表(第一部分)
- css3d模型做法,CSS3 3D房屋模型
- centos 7 redis-4.0.11 主从
- 随机游走算法(Random Walk)
- IT软件工程师工作内容
- 2014腾讯实习生招聘数组墙算法
- 【蓝桥杯选拔赛真题01】Scratch消失的小猫 少儿编程scratch蓝桥杯选拔赛真题讲解
- 水有七德,几近于道!
- C盘占用空间大如何清理
- 详解申请微信h5支付方法,开通微信h5网页支付接口(转)
- 设置视频(Video)模式
- 二级c 与c语言的区别,计算机二级c和c++区别?
热门文章
- 网络监测是如何工作的?
- java毕业设计——基于java+eclipse+sqlserver的银行帐目管理系统设计与实现(毕业论文+程序源码)——银行帐目管理系统
- #数据库--第1章 Windows 下的数据库导入 TPCH 数据(以 SQL Server 作为示例,MySQL同样适用)
- Asus EeePC X101上网本为MeeGo带来新的生机
- 【缺陷检测】基于形态学实现印刷电路板缺陷检测技术附matlab代码
- 华为起诉三星启示几何 探讨知识产权在中国
- css中按钮变色,CSS控制按钮变色(有图有真相)
- 中兴核心网服务器笔记本电脑,基于统一硬件平台的中兴通讯核心网技术介绍
- 干掉保险丝和继电器,自动驾驶才能更安全
- 开发板给电脑自动分配IP?手把手教部署零配置网络实现电脑与开发板直连