5、JavaScript运算符及数据类型
1)
+ - * **(幂) / %(取余)
2)数据类型:
JavaScript能够保存多种数据类型:数值、字符串值、数组、独享等等,
var length = 7;
var lastName = "Gates";
var cars = ["Porsche","Volvo","BMW"]; //数组
var x={firstName:"Bill",lastName:"Gates"}; //对象
3)JavaScript拥有动态类型:
var x;
var x = 7;
var x="Bill";
这意味着相同的变量可以应用做不通的类型。
4)JavaScript布尔值
var x = true;
var y = false;
5)JavaScript数组:
<body>
<h2>JavaScript数组</h2>
<p>数组索引基于0,这意味着第一个项目是[0],第二个项目是[1],以此类推。</p>
<p id="demo"></p>
<script>
var cars=["Porsche","Volvo","BMW"];
document.getElementById("demo").innerHTML=cars[0];
</script>
</body>
6)JavaScript对象:
JavaScript对象用{}来书写。对象属性是name:value对,用,来分割。
<body>
<h2>JavaScript对象</h2>
<p id="demo"></p>
<script>
var person={
firstName:"Bill",
lastName:"Gates",
age:62,
eyeColor:blue;
}
document.getElementById("demo").innerHTML=person.firstName+"is"+person.age+"years old.";
</script>
</body>
7)typeof运算符:
typeof运算符用来确定变量或者表达式的类型值:
typeof "" //返回"string"
<body>
<h2>JavaScript typeof</h2>
<p>typeof 运算符返回变量或者表达式的类型:</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = typeof ""+"<br />"
+typeof "Bill Gates" + "<br />" + typeof + "Bill";
//返回值:
//string
//string
//string
</script>
</body>
8)Null:
在JavaScript中,null数据类型是对象。可以通过设置值为null来清空对象
9):
原始数据类型:
·string
·number
·boolean
·undefined
复杂数据类型:
·function
·object
typeof运算符会把对象、数组或null返货object
6、JavaScript函数:
1)函数:
JavaScript函数是被设计为执行特定任务的代码块。
JavaScript函数会在某代码代码调用它是执行。
function myFunction(p1,p2){
return p1*p2;
}
函数参数是在函数定义中所列的名称。
函数参数是当调用函数时由函数接受的真是的值。
2)函数调用:
·当事件发生时(当用户点击按钮时)
·当JavaScript代码调用时
·自动的(自调时)
3)函数返回:
当JavaScript到达return语句时,函数将停止执行。
如果函数被某条语句调用,JavaScript将在调用语句之后"返回"执行代码。
var x = myFunction(7,8);
function myFunction(x,y){
return x*y;
}
函数的使用能够对代码进行复用:
function toCelsius(fahrenheit){
return (5/9)*(fahrenheit);
}
document.getElementById("demo").innerHTML=toCelsius(77);
4)()运算符调用函数
toCelsius调用的是函数对象,toCelsius()引用的是函数结果。
<body>
<h2>JavaScript 函数</h2>
<p>不使用()访问函数将返回函数声明而不是函数结果:</p>
<p id="demo"></p>
<script>
function toCelsius(f){
return (5/9)*(f-32);
}
document.getElementById("demo")=toCelsius;
//返回的值是function toCelsius(f){return (5/9)*(f-32);}
document.getElementById("demo")=toCelsius(77);
//返回的值是华氏摄氏转成摄氏度后的数值
</script>
</body>
5)局部变量:
function myFunction(){
var carName="Volvo";
//code here CAN use carName;
}
7、JS对象:
1)对象:
真实生活中的对象,属性和方法。
JavaScript对象是被命名值的对象(名称和值是用:分开的)
2)对象属性:
(JavaScript对象中)名称:值对被称为属性。
var person={firstName:“Bill”,lastName:“Gates”,age:26,eyeColor:“blue”};
属性 属性值
firstName Bill
lastName Gates
age 26
eyeColor blue
3)对象方法:
对象也可以有方法,方法是以函数定义储存在属性中:
var person={
firstName:"Bill",
lastName:"Gates",
age:26,
eyeColor:"blue",
fullName:funcion(){
return this.firstName+""+this.lastName;
}
}
属性 属性值
firstName Bill
lastName Gates
age 26
eyeColor blue
fullName function(){return this.firstName+""+this.lastName;}
4)this关键字:
this关键字引用该函数的”拥有者“。
5)访问对象属性:
(1)objectName.propertyName
person.lastName;
(2)objectName["propertyName"]
person["lastName"]
6)访问对象的方法:
objectName.methodName();
如果不使用()调用函数,则会返回函数的定义。
7)请不要把字符串、数值和布尔值声明为对象!
如果通过"new"来声明JavaScript变量,则该对象会被创建为对象:
var x = new String(); //将x声明为String对象。
var y = new Number();
var z = new Boolean();
8、JavaScript事件:
1)onclick事件:
<body>
<h2>JavaScript 事件</h2>
<p id="demo"></p>
<button onclick="document.getElementById('demo').innerHTML=Date()">时间是?</button>
</body>
2)常见的事件:
事件 描述
onchange HTML元素已经被改变
onclick 用户点击了HTML元素
onmouseover 用户把鼠标移动到了HTML元素上
onmouseout 用户把鼠标移开HTML元素
onkeydown 用户按下键盘键
onload 浏览器已经完成了页面加载
3)JS 字符串
&&&&&&&&&内建属性length可返回字符串的长度&&&&&&&&&&
4)特殊字符:
\' 转义字符
\"
\\
var y="中国是瓷器的故乡,因此china与"China(中国)"同名";
在进行编译的时候,该字符串会被切成“中国是瓷器的故乡,因此china与”,为了避免:
var y="中国是瓷器的故乡,因此china与\"China(中国)\"同名";
5)长代码换行:
如果某一条代码过长,则需要用两行来换行,则最佳的换行位置是在某个运算符之后:
document.getElementById("demo").innerHTML=
"Hello Kitty!"
当然,也可以在字符串中进行换行:
document.getElementById("demo").innerHTML="Hello\
Kitty!"
&&&&注意:此方法仅在字符串中进行换行,不可对代码行进行换行。
对长字符串换行最安全的做法是使用字符串加法:
document.getElementById("demo").innerHTML="Hello"+
" Kitty!"
6)字符串也可以是对象:
通常JavaScript字符串是原始值,通过字面方式创建。
var firstName="Bill";
当然字符串也可以通过new关键字来创建:
var firstName = new String("Bill"); //不过一般不建议将字符串创建为对象。
9、JS字符串:
1)字符串长度length:
var str = “bcuafjiajiajfie”;
var sin = str.length;
2)查找字符串中的字符串indexof():
该方法返回字符串中指定文本首次出现的索引(位置):
var str = “the full name of china is People’s republic of china!”
var num = str.indexof(“china”)
&&JavaScript从0开始计算位置;
3)lastindexof()返回字符串中最后一次出现索引的位置,该方法时从尾部开始检测。
var str = "the full name of china is People's republic of china!";
var num = str.lastindexof("china");
&&如果indexof()和lastindexof()如果未找到文本,均会返回-1;
&&两种方法均接收第二种参数作为检索的起始位置。
4)检索字符串中的字符串search(),并返回匹配的位置:
var str = "The full name of China is People's Republic of China!";
var pos = str.search("China");
5)indexof()和search()的区别:
indexof() 无法设置更强大的搜索值
search() 无法设置第二个开始位置的参数值
6)提取部分字符串的方法:
(1)slice(start,end);
(2)substring(start,end); //无法接受负数作为参数
(3)substr(start,length); //省略第二个参数即是截取剩余的全部字符串
&&&&注意:上述所有的区间都是左闭右开的区间
如果参数值是负数的话,则是从尾部开始计数。
7)替换字符串内容:
(1)replace():
var str = "Please visit Microsoft and Microsoft!"
var n = str.replace("Microsoft","w3school"); //只替换首个匹配
replace()对大小写敏感,因此不对匹配MICROSOFT.
***如需要执行对大小写不敏感的替换,请使用正则表达式/i(大小写不敏感);
var n = str.replace(/Microsoft/i,"w3school"); &&&正则表达式不带""
***如果需要进行全局替换,则需要用到正则表达式/g标志
var n = str.replace(/Microsoft/g,"w3school");
8)字符串大小写替换:
(1)toUpperCase(),把字符串转换为大写
var text1 = "Hello World!"
var text2 = text1.toUpperCase();
(2)toLowerCase(),把字符串转换为大写
var text1 = "Hello World!"
var text2 = text1.toLowerCase();
(3)concat()方法,链接两个或多个字符串:
var text1 = "Hello";
var text2 = "World!";
text3 = text1.concat("",text2);
9)String.trim(),删除字符串两段的空白:
var str = " Hello World! ";
alert(str.trim());
10)提取字符串字符:
(1)charAt(position); //返回字符串中指定下标(位置)的字符串
(2)charCodeAt(position); //返回字符串中指定索引的字符的unicode编码
11)属性访问:
var str = "HELLO WORLD!";
str[0]; //返回H;
12)字符串转换为数组:
split(); //字符串分割函数;
<body>
<h1>JavaScript 字符串方法</h1>
<p id="demo"></p>
<script>
var str = "Hello";
var text = "";
var array = str.split("");
for(var i = 0;i<array.length;i++){
text += array[i]+"<br/>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>