JavaScript
JavaScript 简介:
1.JavaScript 被设计用来向 HTML 页面添加交互行为。
2.JavaScript 是一种脚本语言(脚本语言是一种轻量级的编程语言)。
3.JavaScript 由数行可执行计算机代码组成。
4.JavaScript 通常被直接嵌入 HTML 页面。
5.JavaScript 是一种解释性语言(就是说,代码执行不进行预编译)
JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中执行
浏览器---解释器:
1.html解释器 2.css解释器 3.js解释器
css有三种书写方式:1.head 2.body 3.外部引入
js的书写方式:
不推荐使用head方式,当数据量过大时,会影响用户体验(反应时间过长)
1.js的第一种书写方式
<script> alert('dsadsads'); </script>
2.js的第二种书写方式
<script src="a.js"></script>
3.注释方式
单行注释:头部 // 多行注释:头部/* 尾部*/
4.变量 (js谨慎使用全局变量)
python: name = “alex”
js:(由于 JavaScript 对大小写敏感,变量名也对大小写敏感)
局部变量 var name = "alex";
(1).变量对大小写敏感(y 和 Y 是两个不同的变量)
(2).第一个字符必须是字母、下划线(_)或美元符号($)
(3).余下的字符可以是下划线、美元符号或任何字母或数字字符
全局变量 name = "alex";
5.数据类型:(没有元组,集合)
5.1数字
var num = 10; var num = 10.2; var num = 10.; 显示10.0 var num = .1; 显示0.1
var num = "1234dsadsa"; parseInt(num); 输出1234;调用内置函数(parseInt);必须以数字开头 parseFloat(); 输出浮点数
5.2字符串
var str = "alex is sb"; console.log(str);
5.3数组(只有python叫列表)
var obj = [元素0,元素1,….] obj.length 查看长度 obj.push() 在尾部追加 obj.pop() 取出最后一个元素,然后删除 obj.unshift() 在头部插入 obj.shift() 在头部取出第一个元素,然后删除 obj.slice(m,n) 切片 obj.reverse() 反转 obj.join(obj2) 将数组元素连接起来,变成一个字符串 obj.sort() 对数组元素进行排序
=================================================================
循环: 数组 var arr = ['zahngsan','lisi','taoge','hailong'];
python:
for i in arr: print(i)
js:
两种循环方式,所处理的元素不同 第一种:集合 第二种:字典
第一种循环方式:
var arr = ['zahngsan','lisi','taoge','hailong']; for(var i=0; i<arr.length; i = i+1){ console.log('dsadsadsa'); 打印多个元素,中间用 + }
第二种循环方式:
var dict = {"name":"lisi","age":'23'}; for(var i in arr){ console.log(arr[i]); }
==================================================================
5.4字典(json)
var dict = {"name":"lisi","age":'23'};
5.5 bool
true or false
5.6函数(function)
6.基本的运算符:
算术运算符: + - * / %取余 ++ ——
++: var num = 1;
python 中 num++ 《===》 num = num + 1 《===》 num += 1
除python,其它语言含有左++,右++
var total = num ++ ===》 total = num;num = num + 1
var total = ++ num ===》 num = num + 1;total = num
比较运算符: > >= < <=
全等 和 相等 != == === !==
===(全等(数据类型)): num1 = 100;num2 = "100" if num1 === num2 console.log("随便") 报错,因为num1与num2类型不同
!== (全不相等)
python中无 === 与 !==
逻辑运算符:&& || !
赋值运算符:= += -= *= /=
字符串运算符: + 连接,两边操作数有一个或两个是字符串就做连接运算
7.流程控制:
1.顺序结构
console.log("吃饭"); console.log("睡觉"); console.log("打豆豆");
2.分支结构
2.1 单分支结构
if(表达式){ }
2.2 双分支
if(){ }eles{ }
2.3 多路分支
if(){ }else if(){ }else if(){ }else{ }
2.4 switch...case
python中没有,与if...else...相似,但要添加break,否则按照顺序执行
swicth(){ case : consoel.log(); break; }
3.循环结构 先干一次 再说
do...while
var n = 0; do{ console.log('dsdsadsa'); n = n + 1 }while(n<3);
4.函数
python :
def test(): console.log("fuck hailong");
js的函数有三种书写方式:
1.function test(){ console.log(); } 2.var test = function(){ console.log('dsadsaj'); } test(); 3.(function(){ consoel.log('dsadsa'); })()
8. 1.序列化
JSON.stringify(obj1) 序列化
JSON.parse(obj2) 反序列化
2、转义
decodeURI( ) URl中未转义的字符
decodeURIComponent( ) URI组件中的未转义字符
encodeURI( ) URI中的转义字符
encodeURIComponent( ) 转义URI组件中的字符
URIError 由URl的编码和解码方法抛出
eval()是python中eval与exec的合集,既可以编译代码也可以获得返回值
eval("x=1;y=2;console.log(x+y);") 输出17
================跑马灯案例========欢迎光临=============================
<body> <marquee behavior="" direction="right">欢迎光临</marquee> <!--<div id="wel">--> <!--欢迎光临--> <!--</div>--> </body> <script> function test() { var mywel = document.getElementById("wel"); var content = mywel.innerText; var f_content = content.charAt(0); var l_content = content.substring(1,content.length); var new_content = l_content + f_content; // console.log(new_content); mywel.innerText = new_content; } // 1000毫秒执行一次 setInterval("test()",1000) </script> </html>