JavaScript面试题
数组 以下写法的区别 12345var num1 = 100;var num2 = new Number(100)var str1 = 'message';var str2 = new String('message')var bool1 = true;var bool2 = new Boolean(true) var arr1 = [];var arr2 = new Array(); 对于数字、字符串与布尔类型的数据两种声明方式变量都是原始类型,而数组是引用类型。所以只有数组与其他三种有区别。 得到undefined值得情况 声明变量但不初始化 1var msg; 声明变量并初始化为undefined 1var msg = undefined; 函数默认的return语句所返回得值为undefined 123function fn() { console.log("1");} 函数设置return返回undefined 123function fn() { r ...
04JavaScript数组
数组 数组的定义 常见的数组有三种:索引数组、关联数组、稀疏数组。 其中只有索引数组在官方文档中提及,后两种均未提及。 索引数组:索引值为数字得数组 12var arr1 = [1, 2, 3, 4, 5];console.log(arr1[0]); // 通过索引访问 关联数组(对象替代):索引值为字符串得数组 1234var arr2 = new Array();arr2["name"] = "lilei";arr2["age"] = 18;console.log(arr2); 稀疏数组:数组长度与数组元素个数不一致 1234var arr3 = new Array();arr3[15] = 100;arr3[34] = 200;console.log(arr3); 以上三种数组的长度 12345678console.log("arr1的长度:", arr1.length);console.log("arr2的长度:", arr2.length);console. ...
计算机通信流程
同一网段内计算机通信流程 参考地址:https://www.processon.com/view/5d784083e4b01080c73b9ca8 如上图为一个简单的同一网段内主机的示例。 如果计算机A向计算机B发送消息,那么 应用层会获取计算机B的ip地址(例如192.168.3.98,端口号为3456),并且将数据封装交给传输层 传输层会利用TCP协议将数据封装端口号(源端口号|目的端口号|数据),并交给网络层 网络层利用ip协议为数据封装IP地址(源IP地址|目的IP地址|源端口号|目的端口号|数据),并交给数据链路层 数据链路层进行判断判断自己的ARP表是否存在目的MAC地址。 存在 利用以太网协议给数据封装MAC地址(源MAC地址|目的MAC地址|源IP地址|目的IP地址|源端口号|目的端口号|数据),并交付物理层。 不存在 向本网段内发送一条ARP广播,含义为谁是IP 192.168.3.98,你的MAC地址是多少。 此时计算机B收到广播后,发现IP是找自己的则先将计算机A的ip与MAC记录到自己的ARP表里,然后给计算机A回复一个ARP响应包, ...
03JavaScript运算符
基本运算 基本运算包括加减乘除。 当数字与任意字符串都相加时相当于字符串拼接 1234console.log(100 + "100");//结果为 100100console.log(100 + "test");//结果为 100test 当数字与一个字符串类型的数字相减时就返回正确的结果,与非数字的字符串相见返回NAN 1234console.log(100 - "10");//结果为 90console.log(100 - "test");//结果为NaN 乘法、除法与减法类似。 12345678console.log(100 * "test");//结果为 NaNconsole.log(100 * "10");//结果为 1000console.log(100 / "test");//结果为 NaNconsole.log(100 / "10");//结果为 10 由此可以得到:加法运算时,无论字符串是什么 ...
02JavaScript基础语法部分
包装类型 在JavaScript语言中,原始类型与包装类型创建的数据在使用上没有任何差异 定义变量的两种方式 1234// 直接/字面量 量方式定义var bool = true;//构造函数方式var Bool = new Boolean(true); 创建对象的语法格式 new 构造函数(); 例如var Bool = new Boolean(true);表示创建一个值为true的变量Bool 三种包装类型分别是 布尔类型、数字类型、字符串类类型 123var Bool = new Boolean(true);var Num = new Number(100);var Str = new String("this is message"); 判断包装类型不能使用typeof而是使用instanceof 。语法结构变量名/对象名 instanceof 构造函数/数据类型 1console.log(Str instanceof String); 特殊类型 undefined 得到undefined这个值的情况 声明变量但未初始化值时。 12var ms ...
01安装nvm及js基础语法
nvm的安装(Windows) 下载地址:https://github.com/coreybutler/nvm-windows/releases nvm-noinstall.zip: 这个是绿色免安装版本,但是使用之前需要配置 nvm-setup.zip:这是一个安装包,下载之后点击安装,无需配置就可以使用,方便。 下载完成(安装版)后双击就可以进行安装了。 安装-同意协议 选择nvm安装的路径(路径最好不要出现中文字符) 选择nodejs路径 确认安装即可。 打开cmd,输入命令nvm则可看到信息。 【此项为可选】设置淘宝镜像源 因为nvm默认实在官方去下载,而官方在国外 因此会导致国内经常下载不了等问题。因此这一步我们将默认源改为淘宝的。 在安装(nvm)目录下找到一个叫settings.txt文件,打开后加上下面两行内容即可。 12node_mirror: https://npm.taobao.org/mirrors/node/npm_mirror: https://npm.taobao.org/mirrors/npm/ nvm的基 ...
片刻网项目
片刻网项目 复习回顾——页面布局 如图,需要实现的布局为经典的三列布局(logo、导航、登录注册按钮)。 对于这种情况首先想到的应该是这样的。 也就是说在一个大的容器中,我们在写入一个容器(红色)作为存放绿色容器、蓝色容器、紫色容器 。那么实现起来就很简单了。 123456789101112<!-- 黑色的大容器 --><header class="head"> <!-- 红色部分 --> <div class="container"> <!-- 绿色部分 --> <div class="logo"></div> <!-- 蓝色部分 --> <div class="nav"></div> <!-- 紫色部分 --> <div class="login" ...
Hexo利用coding持续集成实现双部署
Hexo利用coding的持续集成完成coding+GitHub双部署;Hexo实现双线部署。
小康的代码仓库汇总
这里是小康的代码仓库及笔记的索引哦!