1.直接写在script 标签中
<script type="text/javascript"></script>
2.通过外部链接
<script src="./js/index.js"></script>
3.script标签的位置:
放在head标签里面,或者body标签后,
区别:放在body后面,页面加载更快
js是区分大小写的语言
//这里是行注释 /*这里的所有内容都被注释掉*/
1.var定义全局变量(包括在块元素中的定义);
2.let定义块元素下的局部变量;
"use strict";
开启前
x=1; //true
开启后
x=1; //false
var let
JavaScript是弱数据类型语言
var a ="你好" ; //string var b = 1.9; //number var c = true; //boolean var d = false; var li = { name:"小李", age:18, ageUp:function(){ } } //object var f1 = function(){} function f2(){} //function
字符串拼接
var hi = "你好" var name = "小李" var sayHi = hi + "," + name; console.log(sayHi) //打印结果:你好,小李
//string var hi = "你好,小李"; //获取字符串长度用.length console.log(hi.length); //获取某个字字符串的位置 console.log(hi.indexOf("好,小李")); //获取截取从x开始(包含x),y结束(不包含y)的子字符串 var x = 3; var y =5 ; console.log(hi.substring(x,y)) //获取某个位置的字符 console.log(hi.charAt(1))
//number运算,小数存在精度问题 var x = 0.1; var y = 0.2; console.log(x*y); //结果:0.020000000000000004
//一般不建议使用booleam,存在性能问题,用1和0代替更好 var boolean = true; if(boolean){ console.log("值为真") }
//定义方式: var li = { name:"小李", age:18, get:function(){ } } var wang = new Object(); wang.name="王"; wang.age="19"; //获取值的方法:obj.key console.log(li.age)
//定义方式 var f1 = function(a,b){ console.log(a); console.log(b); f2(); } function f2(){ console.log("这是f2") } //传值方式 f1("nihao",1); //对于函数页面是优先加载的,可以前面的调用后面的
尽量使用 ===
//判断数据是否相等 == //== ,只判断值是否相等,不判断数据类型 console.log(1=="1") console.log(1==true) console.log(true=="1") console.log(0==false) // === 既判断值,也判断数据类型 console.log(1==="1") console.log(1===true) console.log(true==="1") console.log(0===false) //前四个都是true,后四个都是false
var hi = "你好"; var name = "小李"; hi +=name;//与 hi=hi+name 一样 var x = 10; var y = 20; x/=y; //还有*= -= += 等 console.log(x);
var i = 1; console.log(i--); //值为1 console.log(i); //值为0
var i = 1; console.log(i++); //值为1 console.log(i); //值为2
var i = 1; console.log(++i); //值为2 console.log(i); //值为2