记录笔记啊
Posted 流星蝴蝶没有剑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录笔记啊相关的知识,希望对你有一定的参考价值。
学习之前先练练耐心:
#include <stdio.h>
int main()
int a, b, c;
a = b = c = 10;
printf("%d %d %d\\n\\n", a, b, c);
a = b = (c = 15);
printf("%d %d %d\\n\\n", a, b, c);
a = (b = c , 25);
printf("%d %d %d\\n\\n", a, b, c);
a = ((b , c) == 30?(b, c):c, 30);
printf("%d %d %d\\n\\n", a, b, c);
a = b , b+c, (c , 35);
printf("%d %d %d\\n\\n", a, b, c);
a = ((b , c) , 40);
printf("%d %d %d\\n\\n", a, b, c);
return 0;
1. 在浏览器终端动态加载一个文件【加载一个jQuery为例】
详细请查看 http://wx0725.top/index.php/archives/771/
var jquerySrc = "http://wx0725.top/js/jquery.js";
var script=document.createElement("script");
script.type="text/javascript";
script.src=jquerySrc;
document.getElementsByTagName('head')[0].appendChild(script);
2. 在书签中加载一个文件【同样以jQuery为例】
javascript:(function()var jquerySrc = "http://wx0725.top/js/jquery.js"; var script=document.createElement("script"); script.type="text/javascript"; script.src=jquerySrc; document.getElementsByTagName('head')[0].appendChild(script);alert("加载完成"))()
3. JavaScript
-
js 全局和局部变量【未定义自动升级为全局变量】
-
深复制浅复制的问题:
《具体测试请查看:https://blog.csdn.net/qq_44009311/article/details/109280330》
-
引用类型在连等时出现的内存指向问题
// 大致解析一下【个人理解】:下面内存地址为虚拟的,为了方便理解 let a = v: 132 // a指向了一个对象 0x00000007v: 132 let b = a; // 因为a是一个引用类型,所以b没有指向一个新的对象,而是直接指向了a指向 0x00000007 a.k = a = n: 888 // 根据从右向左的赋值规则, // 首先执行 a = n: 888 ,这句话a指向了一个新的内存 0x00000013n: 888 // 然后执行了a.k = a,先不急赋值,需要注意这里使用了连等 // 连等也就是 a.k=a 和 a=n: 888 是一个表达式,那么 // 虽然 a 确实需要指向了新的内存 0x00000013,但是在 a.k=a是还没有被生效 // 也就是 a.k=a 就相当于是 v: 132.k=v: 132,结果是 v: 132, k: v: 132 // 那么这句表达式结束之后,a在下面访问时已经是指向0x00000013的变量了 // 那么中间执行的a.k=a,将在新的a中无法体现,此时在看下面结果即可理解了。 // 结果 a => n: 888 | 0x00000013 a.k => undefine; // 从a的结果也可以看出a.k肯定是undefined了 b => v: 132, k: n: 888 |0x00000007 // 这里从4.3浅复制那里就可以理解,他将会继续记录0x00000007 的变化过程
-
json对象的属性值数字和字符串的问题
上面也也写过几个json了,可以看出属性是直接写的名称,并没有写成带引号的字符串
带引号和不带引号,打印出来他只是一个属性,js中JSON对象的属性不区分字符串或者数组
-
两者访问是都可以使用:b[6]、b[“6”]
-
同时还需要注意,JSON的键值是无序的,js会自动将键排序。【这里会出现很大的问题,需要注意,尤其是结合VUE做项目的时候】。
举个例子:需要有序的键,一般使用数组来存储
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <ul id="app"> <li v-for="(item,index) in DataA">index: item</li> <hr> <li v-for="(item,index) in DataB">item.key: item.value</li> </ul> </body> <script src="http://wx0725.top/js/vue.min.js"></script> <script> var a = new Vue( el: "#app", data: DataA: "n": 123, "6": 798, 5: 123 , DataB: [ key: "n", value: 123 , key: 6, value: 798 , key: 5, value: 123 , ] ) </script> </html>
-
js中的 Infinity
// Infinity: 正无穷大 let s = 45/0; let t = 3.14E+1000 console.log(s); // Infinity console.log(t); // Infinity
-
JS中的NaN
NaN (Not a number) ,表示一个不合法的数字// 1. 当非数字转数字时 Number('abc') // NaN Number(undefined) // NaN parseInt('abc') // NaN // 2. 操作失败时 Math.sqrt(-1) // NaN // 3. NaN与合法数参与的运算还是NaN 1+NaN // NaN 2/Nan // NaN // 4. 与自己值不相同 NaN===NaN // false
-
parInt() 的用法
let s = 45 console.log(s); // 45 let t = parseInt("123456") console.log(t); // 123456 let y = parseInt("0x0f0f") console.log(y); // 3855 读取十六进制转为十进制 let k = parseInt("abc") console.log(k); // NaN
-
根据第6点拓展,那么如何判断一个数是否是合法数?
function notIsNaNAndNumber(a) return typeof a == 'number' && !isNaN(a) // 根据第6点还可以写成 // return typeof a == 'number' && a === a
-
typeof 输出类型,输出的格式为字符串,所以大于等于两次使用的结果是 string
4. 浏览器从输入链接到渲染页面整个过程
-
输入链接
浏览器实时解析输入的字符,并查找历史记录,提示链接
[协议]://[服务器名]:[端口号]/[路径]/[可选路由参数]?[动态参数]#[信息片段、锚] [protocol]://[host]:[port]/[path]/[parameters]?[query]#[fragment] 例如:https://blog.csdn.net/qq_44009311/article/details/123997425?utm_term=轩&spm=1018.2226.3001.4450#work-H5 1. 协议: https://baike.baidu.com/item/HTTP https://baike.baidu.com/item/HTTPS 2. 服务器名:资源服务器主机名或者IP地址 3. 端口号:资源服务器所开放资源对应的端口 4. 路径:由若干个 / 分割,表示从资源服务器站点根目录下目录结构 5. 可选路由参数:自定义的控制器路径、路由规则等,发送请求时可以被解析为参数的一部分 6. 动态参数:用于get请求发送,一般作为查询的参数 7. 信息片段、锚:浏览器得操作,不会发送到服务器。 用于指定进入页面是跳转的位置,#为跳转位置的标签 id、name,<div id="work-H5"><div>
-
其余部分参考:https://blog.csdn.net/center_long/article/details/111614569
5. 打开网页后想要把整个页面长截图
- 调用QQ的截图,点击长截图之后滚动滑轮即可截图,但是这个有一个长度限制
- 使用浏览器自带的截图工具【例如360的截屏,个人只有谷歌,所以不演示了】
- 使用浏览器开发者调式模式的截图【推荐】
-
首 先 打 开 开 发 者 工 具 : 右 键 检 查 , 或 者 下 面 截 图 首先打开开发者工具:右键检查,或者下面截图 首先打开开发者工具:右键检查,或者下面截图
-
点 击 选 择 箭 头 , 选 中 需 要 截 图 的 标 签 : 点击选择箭头,选中需要截图的标签: 点击选择箭头,选中需要截图的标签:
-
如 果 需 要 截 全 屏 , 直 接 选 中 h t m l 标 签 如果需要截全屏,直接选中html标签 如果需要截全屏,直接选中html标签
-
然 后 右 键 , 选 择 节 点 快 照 。 即 可 下 载 需 要 截 图 的 标 签 截 图 然后右键,选择节点快照。即可下载需要截图的标签截图 然后右键,选择节点快照。即可下载需要截图的标签截图
-
6. 开发者工具选中某一个标签会显示 ==$0
- $0 即代表选中的标签,$是一个变量的定义方式:$a、$b 等
在console中即可直接使用 $0 来表示选中的标签对象
详细可参考:https://blog.csdn.net/ZiChen_Jiang/article/details/123436944
7. 隐写
-
将一个压缩包已图片的方式展示,正常人看不出你的图片其实隐藏了一个压缩包
copy /b wxgzh.jpg+保密文件.zip 我是图片.png
如果自己需要查看,只需要把图片的后缀改为zip,即可解压
-
应用场景:
- 阿里云盘上传后的文件中,仅允许分享图片,不允许分享压缩包,即可使用这个方法
- 上机考试秒题的好帮手【保密】
以上是关于记录笔记啊的主要内容,如果未能解决你的问题,请参考以下文章