JavaScript学习之路
1、数据类型
(1)数据类型包括:字符串、数字、布尔、数组、对象、Null、Undefined
注意点:
当向变量分配文本值时,应该用双引号或单引号包围这个值。
当向变量赋的值是数值时,不要使用引号。如果用引号包围数值,该值会被作为文本来处理。
<!DOCTYPE html>
<html>
<body>
<script>
var pi=3.14;
var name="Bill Gates";
var answer='Yes I am!';
document.write(pi + "<br>");
document.write(name + "<br>");
document.write(answer + "<br>");
</script>
</body>
</html>
(2)数组
<!DOCTYPE html>
<html>
<body>
<script>
var i;
var cars = new Array();
cars[0] = "Audi";
cars[1] = "BMW";
cars[2] = "Volvo";
for (i=0;i<cars.length;i++)
{
document.write(cars[i] + "<br>");
}
</script>
</body>
</html>
(3)对象
<!DOCTYPE html>
<html>
<body>
<script>
var person={
firstname : "Bill",
lastname : "Gates",
id : 5566
};
document.write(person.id + "<br />");
document.write(person["id"] + "<br />");
document.write(person.lastname + "<br />");
document.write(person["lastname"] + "<br />");
document.write(person.firstname + "<br />");
document.write(person["firstname"] + "<br />");
</script>
</body>
</html>
(4)算数
<!DOCTYPE html>
<html>
<body>
<p>假设 y=5,计算 x=y+2,并显示结果。</p>
<button onclick="myFunction()">点击这里</button>
<p id="demo"></p>
<script>
function myFunction()
{
var y=5;
var x=y+2;
var demoP=document.getElementById("demo")
demoP.innerHTML="x=" + x;
}
</script>
</body>
</html>
JavaScript
刚开始学习JavaScript时感觉,挺容易的,因为有一定的Java基础,比如:
// 标识符:变量名,函数名,属性名
字母、下划线_、数字、$
不能以关键字保留字命名
驼峰命名法:Hello
数据类型:六种数据类型
String
Number
Boolean
Null
Undefined
Object
String 字符串 单或者双引号引起来
特殊符号用\转义
//强制类型转换
//调用String()
/*
调用Number()函数将a转换Number类型
一、使用Number()函数
二、parseInt()
*/
/* 使用if-else完成从键盘输入成绩的评判 */
var score =prompt("请输入小明的期末成绩:");
//根据score的值决定什么奖励
if(score>100&&score<0){
alert("输入错误!")
}
else if(score>=90){
alert("宝马一台");
}
else if(score>=80){
alert("手机一部");
}
else if(score>=60){
alert("西游记一本");
}
else if(score<60){
alert("棍子一根");
}
质数的输出:
起止计时器
console.time("test");
for(var i=2; i<=100;i++){
flag=true;
//判断是否为质数;获取2-i的数,
for(var j=2;j<=Math.sqrt(i);j++){
if(i%j==0){
flag=false;
break;
}
}
if(flag){
document.write(i+"<br/>");
}
}
//终止计时器
console.timeEnd("test");
这些都是Java中我们学习了的,可是直到
JS中的变量(基本数据类型)都存储在栈内存中,
对象(引用类型)存储在堆内存中,
每创建一个对象就在堆内存
建立一个新的地址指向这个对象
字面量,使用对象字面量,可以在创建对象时,
直接指定对象中的属性,
语法:{属性名:属性值,属性名:属性值...}
对象字面量的属性名可以加引号也可不加
如果要使用一些特殊的名字,则必须加引号
属性名和属性值时一组一组的名值对结构,
名和值之间使用:链接,多个名值之间使用,隔开
如果一个属性之后没有其他的属性了,就不要写,
你还看的懂,说明你的Java基础知识听扎实的。
好的,再来一段/* 函数之旅 */
开发中很少使用构造函数
var fun = new Function("console.log('函数之旅');");
封装到函数中的代码不会立即执行
函数中代码会在函数调用的时候执行
调用函数语法:函数对象()
当调用函数时,函数中封装的代码会按照顺序执行
fun();
使用函数声明来创建一个函数
语法:
function 函数名([形参1,形参2,形参3])
来一段代码:
function fun2(){
console.log("这还施彼身");
}
fun2();
var fun3 = function(){
console.log("dididid");
}
fun3();
有函数必有参数:函数的参数,定义一个用来求两个数和的函数
function sum(a,b){
return a+b;
}
var d = sum(2,3);
document.write(d);
多个形参之间用,隔开
function sum( a, b){
console.log(a+b)
}
sum(1,2);//实际参数,调用函数时不会检查实参的类型
所以要注意,是否有可能会接受到非法的参数,
如果有可能则需要对参数进行类型的检查
调用函数时解析器也不会检查实参的数量
多余实参不会被赋值
咋样是不是感觉脑瓜子嗡嗡的,
先打印个偶数玩玩
var e=alert("hello!");
document.write(e);
function isou(num){
return num % 2 == 0;
}
var ss = isou(23);
alert(ss);
/* 创建一个函数,可以在控制台输出一个人的信息,
可以输出人的name,age,gender,address */
function sayHell(name, age, gender, address){
console.log()
}
当参数过多时,可以将参数封装在一个对象中,然后通过对象传递
function sayHello(o){
console.log("我是"+o.name+",今年"+o.age+"岁了,性别:"+o.gender+",家住在"+o.address);
}
var obj = {
name:"孙悟空",
age:500,
gender:'男',
address:'花果山'
};
// sayHello(obj);