JavaScript
JavaScript 是一门解释型的独立语言
而浏览器巧好有js的解释器
如何在html中写JavaScript
html中,JavaScript的标记是<script> JavaScript代码 </script>
因为网页解析是从上向下解释,而js文件往往是独立的,所以,js的标签一般会写在文件的底部。
js 的引入方法是
<script src="url">
注释
单行注释 //
多行注释 /* */
全局变量与局部变量
假如在js中什么一个变量
name = 'hou'
那么这是一个全局的name变量,这个变量甚至可以在函数中直接使用,我的天,这个真的太恐怖了。
所以,除非确定你的变量是一个全局变量,一般都会写成局部变量。
var name = 'hou'
但是说实话即使这样,js还是依然很不严谨。
ES6以前,js是没有块级作用域的。
{var a=1 }
console.log(a)
上面的代码原本按照我的想法,{}内定义的a应该是个局部变量,它的作用于应该只局限在{}内,可是,结果全是泪。
所以,不要用var,我没来用let吧。
{let a = 1}
console.log(a)
js这门语言还真是有些可怕。
定时器setInterval
<body>
<div id="i1">全世界的大神都来为我呐喊</div>
<script>
function func(){
let tag = document.getElementById('i1');
let content = tag.innerText;
let f = content.charAt(0);
let l = content.substring(1, content.length);
let new_content = l + f;
tag.innerText = new_content
}
setInterval('func()',1000)
</script>
</body>
上面这个js的小功能是最常见的用法之一。
利用setInterval
的定时功能,变相的循环func
函数
for循环
js的for与python的区别还是不小的
for item in [1,2,3,4]:
print(item)
python可以直接输出,但是js中不行,如果像上面,js输出的会是list的索引
list = [1,2,3,4]
for(let item in list){
console.log(list[item])
}
字典的循环也是不一样
dic = {'a':'a1','b':'b1'}
for(let item in list){
console.log(dic[item])
除了上面的方式,js 还有另外一种循环方式,这个方式和c语言的一样
for(let i=0;i<10;i++){
console.log(i)
}
if语句
if(条件){
}else if(条件){
}else{
}
因为js的不严谨
所以js的判断语句中存在这样的写法
1 == '1'
true
1 === '1'
false
== 值相等
=== 值和类型都相等
&& and
|| or