文章目录
2021/12/27
一、JavaScript
(1) 声明
1.js声明变量是根据后面的值来决定类型的(弱类型语言),跟java和c不同
动态语言->脚本语言->解释型语言->弱类型语言(弱化数据类型)
静态语言 ->编译型语言->强类型语言(强化数据类型)
var a = 1 ;
var a = 3.14;
var str = '我爱编程'
(2)计算长度
str.length
前面必须是string型
var a = '1234';
console.log(a.length);//计算长度
var a = 123;
console.log(a.length); //undefined
console.log(String(a).length);//3
(3)隐式类型转换
面试笔试题,考到隐式类型转换,绝对会涉及到以下内容
a++/a--
var a = '123';//Number(a),再a++,(a--)一样
a++;
console.log(a);//124
"" + 数字
var a = "a" + 1; //看到加号是String(1)
console.log(a);//a1
"" * 数字
var a = "2" * 2;//Number("2")
console.log(a);//4
>
var a = '1' > 2;
console.log(a);//false
console.log(Number(a));//0
console.log(parseInt(a))//NAN
5.转化为ASCII码
var a = "a" > "b";//转化为ASCII码
console.log(a);//返回0
6.==
/!=
var a = 1 == "2";
console.log(a); //false
7.===
不进行隐式转换
var a =1 === '1';//这个不进行隐式转换
console.log(a);//false
8.NaN
不等于任何东西
var a = NaN == NaN;
console.log(a);//false
9.num>num>num
//过程:2>1返回true即1,在判断1>3是否成立
var a = 2>1>3;
console.log(a);//false
var a = 1<2>0;
console.log(a);//true
var a1 = 2>1>3;
var a2 = 2>1==1;
console.log(a1,a2);//false,true
10.undefined
和null
var a1 =undefined==0;
var a2 = null==0;
console.log(a1,a2);//false false
undefinde和null谁也不想惹,不要跟我说大于还是小于还是等于0,跟0没关系,但是唯一跟undefined有关系的就是null,
undefined说我跟null有关系,null说我跟undefined有关系,那干脆都相等
//百度考过
var a =undefined==null;
console.log(a);//true
11.+/-'num'
var num ="123";
console.log(+ num);//123
console.log(typeof(+ num));//number
var num ="123";
console.log(typeof(-num)+";"+ -num);//number;-123
var num ="abc";
console.log(typeof(-num)+";"+ -num);//number;NaN
console.log(typeof(+num)+";"+ +num);//number;NaN
12.isNaN()
方法:
可以判断是不是NaN,返回是boolean值,就是判断是不是非数
先进行一个隐式转换Number()操作,在判断是不是数值型
Number(值)-> NaN-> boolean;
console.log(isNaN(NaN));//true
console.log(isNaN(123));//false
console.log(isNaN('123'));//false,先隐式转化成123,
console.log(isNaN("abcd"));//true
console.log(isNaN('a'));//true
console.log(isNaN(undefined));//true
console.log(isNaN(a));//false a是ascii码,隐式转换之后是数值型
1.isNaN(‘a’)隐式转换Number(‘a’);
console.log(isNaN('a'));//true
2.null不是非数,null隐式转化成number是0,0不是非数字
console.log(isNaN(null));//false
3.undefined是非数
console.log(Number(undefined));//NaN
二、问题
三、新知识
(1)电脑主流屏幕:
LCD显示屏:
VA
(拖影严重) Tn
(可视角度差) 基本没有笔记本电脑使用了
IPS
(小新pro14) 可视角度,色彩表现,寿命,价格都比较有优势。技术也比较成熟
缺点:黑色显示不纯净,容易漏光
如果IPS被淘汰,miniled
或者microled
才是未来,将来可能会普及的技术
OLED: (yoga 14s)
优点:1.对比度高,黑色显示比较纯净
2.方便做息屏显示(手机比较多),更长的续航。
3.更薄,容易做软屏,对手机平板是优点,对于电脑来说是没多大帮助
缺点:
1.烧屏:长时间显示同一个画面,你在打开别的页面时候,之前长期显示的屏幕像是被烙在屏幕上一样
厂家也不会因为烧屏免费维修和换货
2.频闪:目前OLED笔记本几乎全都是250HZ的低频PWM调光 ,对眼睛不友好,
3.寿命低
建议:
1.笔记本用户不建议买OLED屏幕当主力机,更适合当第二台pc设备
2.OLED频闪对长期盯着屏幕看的工作者眼睛非常不友好
(2)右击文件夹用vscode打开失败
参考简书教程:https://www.jianshu.com/p/e8c29211fba9
方法1:重装vscode
方法 2:修改注册表
1, Win+R
打开运行,输入regedit
,打开注册表
,找到HKEY_CLASSES_ROOT*\shell分支,如果没有shell分支,则在*下点击右键,选择“新建
-项
”,建立shell分支。
2, 在shell下新建“VisualCode
”项,在右侧窗口的“默认”双击,在数据里输入“用VSCode打开
”。
3, 在“VisualCode
”下再新建Command
项,在右侧窗口的“默认”键值栏内输入程序所在的安装路径,我的是:F:\Microsoft programs\Microsoft VS Code\Code.exe %1
。其中的%1表示要打开的文件参数。
4, 配置缩略图。在VisualCode
项上新建可扩充字符串值
,命名为Icon
,双击,把F:\Microsoft programs\Microsoft\Code.exe VS Code
放进数据就可以了。
5, 关闭注册表,即可生效。
二,分别打开其他两个分支跟第一步同样的操作:
HKEY_CLASSES_ROOT\Directory\shell
KEY_CLASSES_ROOT-Directory-Background-shell
我遇到的问题:没有权限打开或找不到路径。
**解决方式:**把注册表里面的数据路径“F:\Microsoft programs\Microsoft VS Code“`引号去掉了就成功了
然后我是将原本的shell下面的vscdoe文件都删除重新创建的。
(3)windows右键增加打开Typora
参考csdn连接:https://blog.youkuaiyun.com/qq_39309348/article/details/108627944
KEY_CLASSES_ROOT-Directory-Background-shell
注册表中添加右击打开的视图
(4)Excel表格操作
EXCEL 筛选 复制到指定单元格 会出现 数据变少的情况,正确的操作步骤是:
筛选,alt+a
,clt+c
,选择完全空白的一行单击(不能和筛选后数据同行,否则数据会消失一部分),clt+v。
alt+a
是选中所有 有内容的单元格 的快捷键.
(5)vscode格式化设置单引号和去除多余分号、逗号
方法一:下载prettier插件并设置
1、settings.json中添加:
"prettier.configPath": "C:\\Users\\施政\\.prettierrc",
"eslint.alwaysShowStatus": true,
2、在C:\Users\施政\ 下创建.prettierrc文件:
{
//前面属性名加不加双隐号都可以 如:semi: false
"singleQuote": true,//单隐号
"semi": false,//分号
"trailingComma": "none",//结尾逗号
"printWidth": 300//文字超过个数限制,换行
}
不想用的功能属性可以注释掉/* */
3.下载Eslint插件并且设置
//Eslint 插件的配置
//保存时启动格式化
"editor.codeActionsOnSave": {
"source.fixAll": true
},
//默认只能格式化.js文件,设置html和css和js同时格式化
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
4.重新打开保存代码发现格式化成功
方法二:不需要添加文件直接在vscode里面设置(推荐)
-
下载完两个插件之后在setting.json里面设置:
//"prettier.configPath": "C:\\Users\\施政\\.prettierrc", "eslint.alwaysShowStatus": true, "prettier.printWidth": 300,// 每行文字个数超出此限制将会被迫换行 "prettier.singleQuote": true,// 单引号 "prettier.semi": false, // 分号 "prettier.trailingComma": "none" ,// 去掉结尾的逗号 "prettier.arrowParens": "avoid",//当箭头函数仅有一个参数时加上括号
将方法一
"prettier.configPath": "C:\\Users\\施政\\.prettierrc"
注释掉,然后把刚刚的.prettierc删掉(也可以不删)。因为写这一段就会访问到这个路径文件
.prettierrc
里面的属性,你在setting.json里面改属性是没用的,只能去路径下找到.prettierc
文件改属性功能才有效。所以要注释掉。这样就可以直接在vscode里面修改属性值。
在按照方法一的3中设置一下ESlint插件(就不写了)
发现小问题:
把这段注释掉,想恢复原来单双引号混用,出现了,保存时一直自动变成双引号,去掉分号
注释prettier的设置还不行,保存还是格式化
只能把eslint的保存时运行的操作注释掉才能恢复不格式化,单双隐号混用: