看web文档记录(未整理)
ls查看该文件夹下的所有子文件
做任何事情之前,都要先有一些想法。
margin: 0 auto; 当你在 margin 或 padding 这样的属性上设置两个值时,第一个值影响元素的上下方向(在这个例子中设置为 0);第二个值影响左右方向。(这里,auto 是一个特殊的值,它将可用的水平空间平均分配给左边和右边)。如 margin 语法中所记载的那样,你也可以使用一个、两个、三个或四个值。
上面将 <script> 元素放在 HTML 文件的底部附近的原因是浏览器会按照代码在文件中的顺序进行读取。
如果 JavaScript 先加载,并期望操纵还未加载的 HTML,可能会出现问题。将 JavaScript 放在 HTML 页面的底部附近是一种解决方案。
变量
JavaScript 里的一切都是对象,对象能在变量中存储。
没扣钱就行,说明得到了应得的
alert() 函数在浏览器窗口内弹出一个警告框,但还应为其提供一个字符串参数,告诉它警告框里要显示的内容。
let之类的关键字有几个,什么作用
事件
事件处理器能为网页添加真正的交互。它们是监听浏览器活动的代码块,并在响应中运行代码。最明显的例子就是处理点击事件,当你用鼠标点击时,浏览器会触发该事件。作为演示,在控制台中输入下面的代码,然后点击网页的任意位置:
document.querySelector("html").addEventListener("click", function () {
alert("别戳我,我怕疼!");
});
将事件处理器与元素绑定有许多方法。这里我们选择了 <html> 元素,然后调用了它的 addEventListener() 函数,并传递要监听的事件名('click')和事件发生时要运行的函数。
刚刚我们传递给 addEventListener() 的函数被称为匿名函数,因为它没有名字。匿名函数还有另一种书写方式,我们称之为箭头函数。箭头函数使用 () => 而不是 function ():
document.querySelector("html").addEventListener("click", () => {
alert("别戳我,我怕疼!");
});
赋值赋值,值赋值,把变量的值给过去
箭头函数是()=>
变成function()
dns解析就是把域名转换成ip地址
唯一不变的就是变化。
作为一名 Web 开发者,你会需要花费大量的时间寻找在你日常工作中遇到的问题的解决方案——你不可能记得住一切细节!专业的 Web 开发者使用类似 MDN Web 文档这样的工具来查阅他们在过往中忘记的事情。就如你会发现的那样,学习 Web 开发更多的是学习问题解决和学习模式,而非去学习大量的语法。
为了促进问题的解决并变得更加“自给自足”,你应该学习寻找答案的有效策略以及各种策略的使用场合(我们将在下面的章节中具体讨论)。例如,先尝试在网上查找信息,并且只有在真正无法解决时才向导师、同学或高级工程师寻求帮助。
备注: 知道何时寻求帮助需要拿捏好平衡。Web 开发者不应该不断打扰同行或同事,但同样也不应固执己见,假装自己全懂。适时地说出“我不知道”也是一种智慧。
在博客园整理出自己这一周的学习
将问题拆分为小部分
保持不断学习的心态
技术和趋势总是在变化,你需要不断更新知识来跟上时代。
"Salutations my esteemed friend, with the deepest humility, I prostrate myself before thee offering greetings adorned in the highest reverence and the sincerest respect. May this humble entreaty find thee in noble spirits and dignified repose. Thy days, graced with serenity and thy endeavours crowned with virtue, know that in extending this cordial missive, I lay forth not mere words, but a testament of enduring regard and good will. Drawn from the wellspring of earnest admiration, in the world of the plagued, my haste and hollow gestures permit me to be an unwavering beacon of sincerity. To greet thee not with passing pleasantries, but with the warmth of kindred spirit."
外边距会抵消
padding是隔开边框和内容物的
间距不会变
视口宽度vw,视口高度vh 。
1vh 等于视口高度的 1%,1vw 则为视口宽度的 1%。
max-width: 100%
max-height: 100%
overflow: hidden;隐藏溢出的东西
overflow: scroll;既隐藏又加滚动条
设置 overflow-y: scroll 来仅在 y 轴方向滚动。
overflow是溢出的意思
auto自动
如果你只是想让滚动条在有比盒子所能装下更多的内容的时候才显示,那么使用 overflow: auto。此时由浏览器决定是否显示滚动条。
object-fit: contain;图像就会被缩放到足以完整地放到盒子里面的大小
不应该直接看课的,应该看文档的
写个专门记英文的笔记
float是浮动,像水一样,文字包裹浮动的元素
:伪类 ::伪元素
:nth-of-type() 是一个 CSS 伪类,用于选择父元素中具有相同标签类型的第 n 个子元素。
媒体查询看不懂
用程序接口(Application Programming Interface,API)
JAVDB+素人系総合 wiki可以解决日本电影98%的番号整合需求,然后JAVLibrary+AV女優の名前が知りたい! 本館作为辅助可以解决1.5%的番号和识别女优的功能,至于还有0.5%我只能说看你执着不执着了
const不可修改
看到不认识的先去翻译,这是第一要义,很多东西把意思写上去了
看到报错我们要先翻译一下报错信息,然后找错的地方在哪
报错的86:3表示第86行第3个字符
如果报null或者undifind就去console.log();打印一下
SyntaxError: expected expression, got 'string' 或 SyntaxError: string literal contains an unescaped line break
这个错误通常意味着字符串两端的引号漏写了一个。如果你漏写了字符串开始的引号,将得到第一条出错信息,这里的 'string' 将被替换为浏览器发现的意外字符。如果漏写了末尾的引号将得到第二条。
用var或let声明变量(const呢)
初始化是给变量赋值
var可以初始化变量之后再声明变量
var可以根据需要多次声明相同名称的变量
let不行(所以用let)
变量命名:字母开头、由数字字母下划线组成、非关键字(最好用驼峰)
在js中不用声明变量类型
Math.round() “正四舍五入,负向上取整”
Math.ceil() “向上取整”
Math.floor() “向下取整”
Math,random() “随机0-1小数”
https://developer.mozilla.org/zh-CN/docs/Learn_web_development/Core/Scripting/Strings
反引号··
可以嵌入js
const one = "你好,";
const two = "请问最近如何?";
const joined = `${one}${two}`;
console.log(joined); // "你好,请问最近如何?"
${}只能在反引号里用
反引号里面自带换行符
字符串类型的变量也能加【】表示这个字符串的第几个字符
let browserType = "mozilla";
browserType[0];//m
在字符串中查找子字符串
browserType.indexOf("zilla");//2
browserType.indexOf("vanilla");//-1
并提取子字符串
slice()
转换大小写
toLowerCase()和toUpperCase()
使用replace()方法将字符串中的一个子字符串替换为另一个子字符串
browserType.replace("moz", "van");
注意,在实际程序中,想要真正更新 browserType 变量的值,你需要设置变量的值等于刚才的操作结果;它不会自动更新子串的值。所以事实上你需要这样写:browserType = browserType.replace('moz','van');
数组里面的元素不一定是同一类型的
数组中包含数组的话称之为多维数组。可以通过将两组方括号链接在一起来访问数组内的另一个数组
let random = ["tree", 795, [0, 1, 2]];
random[2][2];
字符串变数组函数 split()
数组变字符串函数 join()和 toString()
reverse():将一个数组的元素顺序原地颠倒(会修改原数组)。
split():将一个字符串按照指定分隔符切割成一个新数组。
join():将一个数组的所有元素用自定义的分隔符连接成一个新字符串。
toString():将一个数组转换成用逗号分隔的新字符串。
let originalSentence = "Web development is fun";
// 1. reverse(): 将数组的顺序反转
wordsArray.reverse();
// -> [ "fun", "is", "development", "Web" ]
// 2. split(): 将字符串按空格分割成数组
let wordsArray = originalSentence.split(' ');
// -> [ "Web", "development", "is", "fun" ]
// 3. join(): 使用自定义分隔符 " | " 将数组重新组合成字符串
let joinedString = wordsArray.join(' | ');
// -> "fun | is | development | Web"
console.log("使用 join():", joinedString);
// 4. toString(): 将反转后的数组用默认的逗号转换成字符串
let toStringResult = wordsArray.toString();
// -> "fun,is,development,Web"
console.log("使用 toString():", toStringResult);
要在数组末尾添加或删除一个项目,我们可以使用 push() 和 pop()。
数组添加删除元素
push():在数组末尾添加一个或多个元素,并返回新长度。
pop():移除数组末尾的最后一个元素,并返回该元素。
unshift():在数组开头添加一个或多个元素,并返回新长度。
shift():移除数组开头的第一个元素,并返回该元素。
// 假设我们有一个待办事项列表作为起始
let todoList = ["学习 JavaScript", "写代码"];
console.log("1. 初始列表:", todoList);
// -> [ "学习 JavaScript", "写代码" ]
// 2. push(): 在列表末尾添加 "看文档" 和 "提交代码"
let newLengthAfterPush = todoList.push("看文档", "提交代码");
console.log("2. push() 操作后:", todoList);
// -> [ "学习 JavaScript", "写代码", "看文档", "提交代码" ]
console.log(" push() 返回的新长度:", newLengthAfterPush);
// -> 4
// 3. unshift(): 在列表开头添加最重要的任务 "喝杯咖啡提神"
let newLengthAfterUnshift = todoList.unshift("喝杯咖啡提神");
console.log("3. unshift() 操作后:", todoList);
// -> [ "喝杯咖啡提神", "学习 JavaScript", "写代码", "看文档", "提交代码" ]
console.log(" unshift() 返回的新长度:", newLengthAfterUnshift);
// -> 5
// 4. shift(): 完成并移除开头的第一个任务
let completedTask = todoList.shift();
console.log("4. shift() 操作后:", todoList);
// -> [ "学习 JavaScript", "写代码", "看文档", "提交代码" ]
console.log(" shift() 返回被移除的任务:", completedTask);
// -> "喝杯咖啡提神"
// 5. pop(): 完成并移除末尾的最后一个任务
let lastTaskDone = todoList.pop();
console.log("5. pop() 操作后:", todoList);
// -> [ "学习 JavaScript", "写代码", "看文档" ]
console.log(" pop() 返回被移除的任务:", lastTaskDone);
// -> "提交代码"
console.log("\n经过一系列操作,最终的列表为:", todoList);
// -> 经过一系列操作,最终的列表为: ["学习 JavaScript", "写代码", "看文档"]
只能是反引号··里面放${}
看到一个函数首先想到的是调用这个函数的
学一门技术要去看它的相关书,而不是看课,这样只能了解大概而且不全面
想知道这个函数得到了什么值,那直接把函数的参数打印出来不就行了
(形参)=>箭头函数如果形参数只有一个的话可以省略()
箭头函数转变成等价的传统写法是function(形参){return 内容}
如果看到一个函数只有传值没有{}写得到值的内容,那说明这个函数是被封装过的或者原生函数
window.alert() 令浏览器显示一个带有可选的信息的对话框,并等待用户离开该对话框。
在函数名后面的这个括号叫做“函数调用运算符”(function invocation operator)。你只有在想直接调用函数的地方才这么写。同样要重视的是,匿名函数里面的代码也不是直接运行的,只要代码在函数作用域内。
不能对const定义的变量本身重新赋值,但是可以通过其他方式更换变量里面的属性或元素(仅限对象类型和数组类型)。
“不能对const定义的变量本身重新赋值”
这指的是 const 创建了一个只读的绑定(read-only binding)。变量名和它所指向的内存地址之间的这个链接关系是不可更改的。
“但是可以通过其他方式更换变量里面的属性或元素(仅限对象类型和数组类型)”
这指的是 const 并不关心那个内存地址上存放的数据内容。对于对象和数组(这两种都属于“引用类型”),变量里存的仅仅是一个地址。const 保证地址不变,但该地址上的那个对象或数组,其内部是可以自由修改(mutate)的。
.then是内置函数不用{}
JSON 要求在字符串和属性名称周围使用双引号。单引号无效。
JSON 中只有带引号的字符串可以用作属性。

浙公网安备 33010602011771号