本周总结

本周学习内容

由于各种原因,导致近期学习效率不高,于是我决定换一下脑子,算法先停一停,适当研究一下其他方面的内容,碰巧想起来了前不久看到的一本比较有意思的一本书《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本周总结相关推荐

  1. LiDAR 22.04.30课堂笔记文件汇总

    激光雷达按载荷平台分类有那些? 1.机载激光雷达 机载激光雷达是将激光测距设备.GNSS设备和INS等设备紧密集成,以飞行平台为载体,通过对地面进行扫描,记录目标的姿态.位置和反射强度等信息,获取地表 ...

  2. 他用几个公式解释了现金贷业务的风控与运营 (下) 2017-09-18 22:04 风控/运营/违约 “金额如此小的业务,成本极度敏感,刚开始的时候我们在数据成本和坏账成本之间特别纠结。” 以上是许

    他用几个公式解释了现金贷业务的风控与运营 (下) 2017-09-18 22:04风控/运营/违约 "金额如此小的业务,成本极度敏感,刚开始的时候我们在数据成本和坏账成本之间特别纠结.&qu ...

  3. Ubuntu 22.04下载安装VMware Workstation Pro 17

    Ubuntu 22.04下载安装VMware Workstation Pro 17 一.下载 打开浏览器,访问VMware的官方网站:https://www.vmware.com 页面打开后,点击菜单 ...

  4. Ubuntu 22.04 LTS 入门安装配置优化、开发软件安装一条龙

    例行前言   最近在抉择手上空余的笔记本(X220 i7-2620M,Sk Hynix ddr3 8G*2 ,Samsung MINISATA 256G)拿来运行什么系统比较好,早年间我或许还会去继续 ...

  5. Ubuntu 22.04​下加快rust的编译速度

    在学习Rust的时候,相信不少人和我一样一直受Rust编译慢的问题困扰.最近阅读一篇写得相当不错的英文博客<Tips for Faster Rust Compile Times>,加上最近 ...

  6. VMware Workstation创建Linux Ubuntu 22.04.1 desktop虚拟机

    在上期,我们已经说过,今天会有神秘彩蛋.彩蛋是什么呢?那就是:Windows阶段会告一段落,从这篇文章开始我们会去学习创建Linux虚拟机. 你可能都没有听说过?但在我们程序员中是如雷贯耳的(虽然我现 ...

  7. Ubuntu 22.04 LTS安装Modelsim SE 2020.4

    前言 教程中的部分内容参考自易特创芯论坛,鉴于论坛相关资料有些零散.安装步骤繁琐或是存在错误.部分原理性问题未解释清楚人云亦云.导致为入门者带来了困难等原因,为此梳理出一篇相对完整的教程 准备工作 · ...

  8. 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 ...

  9. 11.04.30 半夜清晨

    好一阵子没来blog了. 没错,间歇性迷茫. 期中考的缘故,两周没碰题. 最近又开始刷usaco,先恢复下手感脑感. 但是,真的是刷题无力.各种无力. 但是呢,哥是不会放弃的,这个不用怀疑. 院科协换 ...

最新文章

  1. Failed to resolve:com.android.support:appcompat-v7:报错处理
  2. robotframework常见问题解决汇总
  3. 创建域名Linux服务器,linux 构建域名服务器
  4. Android 插件框架机制之Small
  5. 20165333第一次课堂测试补漏
  6. python3精要(28)-filter
  7. Django 3.2.5博客开发教程:使用富文本编辑器添加数据
  8. (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节6:设备的分配和回收
  9. python traceback_深入学习Python列表(第一部分)
  10. css3d模型做法,CSS3 3D房屋模型
  11. centos 7 redis-4.0.11 主从
  12. 随机游走算法(Random Walk)
  13. IT软件工程师工作内容
  14. 2014腾讯实习生招聘数组墙算法
  15. 【蓝桥杯选拔赛真题01】Scratch消失的小猫 少儿编程scratch蓝桥杯选拔赛真题讲解
  16. 水有七德,几近于道!
  17. C盘占用空间大如何清理
  18. 详解申请微信h5支付方法,开通微信h5网页支付接口(转)
  19. 设置视频(Video)模式
  20. 二级c 与c语言的区别,计算机二级c和c++区别?

热门文章

  1. 网络监测是如何工作的?
  2. java毕业设计——基于java+eclipse+sqlserver的银行帐目管理系统设计与实现(毕业论文+程序源码)——银行帐目管理系统
  3. #数据库--第1章 Windows 下的数据库导入 TPCH 数据(以 SQL Server 作为示例,MySQL同样适用)
  4. Asus EeePC X101上网本为MeeGo带来新的生机
  5. 【缺陷检测】基于形态学实现印刷电路板缺陷检测技术附matlab代码
  6. 华为起诉三星启示几何 探讨知识产权在中国
  7. css中按钮变色,CSS控制按钮变色(有图有真相)
  8. 中兴核心网服务器笔记本电脑,基于统一硬件平台的中兴通讯核心网技术介绍
  9. 干掉保险丝和继电器,自动驾驶才能更安全
  10. 开发板给电脑自动分配IP?手把手教部署零配置网络实现电脑与开发板直连