发表于: 2018-05-15 22:28:05
2 500
今天完成的事情:任务十三;
明天的计划,看看js1的任务完成需要学习的东西;
今天的收获:看了js 的基础语法部分:
document.write(“hello javascript”); 向文档写入字符串
document是js内置对象,代表浏览器的文档部分;
<button onclick="document.getElementById('text').style.display='block'">显示文本</button>
<button onclick="document.getElementById('text').style.display='none'">隐藏文本</button>
<p id="text">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Tempore neque dolorem commodi.</p>
onclick=点击button后做的事情;
document.getElementById=根据ID获取指定的元素;
style.display=‘block’=以block的形式显示
完成的js由js语言基础,Bom,Dom组成;
JavaScript必须要放在<script>标签内,script标签可以放在任何地方,一般建议放在head中;
JavaScript代码执行顺序是由上到下的;
<script type="text/Javascript" src="./demo.js" defer="defer"></script>
按照红宝书上的做法,使用defer后js脚本会延迟到整个页面都解析完毕后再运行,但是上面这串代码写上去后加载不出来js里编写的内容,把defer去掉后就没有异常了;
var x=10;
document.write("变量x的值"+x);
var声明变量,变量作用于全局或者局部;不使用var也可以实现声明变量和调用变量;变量的命名和java的差不多;
js 的调试方法:
1、使用alert(1)进行调试;
2、使用浏览器调试(Chrome的调试方法需要去学习)
3、console.log,方法和alert(1)一样,不过console.log会把信息输出在console里面,不会像alert一样阻挡其他操作;
基本数据类型:
- undefined:声明了但没有赋值的变量;
- Boolean:ture和false, 和java的一样;
- number:数字;
- String 字符串:javascript中没有字符,只有字符串,所以单引号和双引号都可以用来表示字符串;
- 动态类型,当给变量赋的值是数字,就是number类型,是字符串的话就是string类型;
- typeof:变量类型判断,因为变量是动态的,有时候无法判断,所以这时候要用到typeof来判断:
x = 10;
document.write(“x的值为:"+ typeof x);
输出的内容为:x的值为:number
- null:对象不存在;
类型转换:
- 伪对象:假设a的类型是字符串,通过调用伪对象的 .length来获取长度;
- 转换为字符串:number、Boolean、string都可以通过 .tostring()来转换成字符串;
- 数字串字符串:默认模式是转为十进制,基模式是 .tostring(8)括号内加上要转换为哪类,
- 转换为数字:parseInt 和 parseFloat 两种方法,一种是转换为整数,一种是浮点数;
- Number也可以用来转换,和parseInt的区别就是,number只能转换纯数字,如果包含非数字的话就会返回NaN(not a number),parseInt如果开头是数字的话,就会返回开头的合法数字部分,如果非数字开头的话就会返回NaN;
document.write("转换为:"+parseFloat("10abc8"));
- 转换成Boolean,字符串转换的话不是空的话就是true,数字转换不是0就是true,转换对象的时候不是空对象就返回true;
函数
是一段可以重复使用的代码;
function:关键字用于定义一个函数;
print():函数的名字,后面的括号是传参,空的话就代表没有参数;参数可以是字符串、数字、Boolean值
{} 表示函数开始和结束;
最下面的print()是调用函数;
function print() { //function:关键字用于定义一个函数;print():函数的名字,后面的括号是传参,空的话就代表没有参数;
document.write("这是一段测试文字");
}
print(); //最下面的print()是调用函数;
带参数的函数: 问题:用什么方法获取传入的参数是什么数据类型的??
function text(massage) { //带参数的函数声明
document.write(massage);
}
text(); //这个没有传参,所以打印出来的是undefined;
text(“<br>");
text(“这是文字”); //调用函数时传入参数
带返回值的函数:
function print(massage) {
document.write(massage);}
function calc(x, y) { //calc动态运算
return x + y;}
var sum = calc(500, 20);
print(sum);
作用域
- 参数的作用域在函数的内部,超出函数就无法调用了。局部作用
- 全局变量作用域,定义在函数外面,前面,所有函数都能够调用和访问。
事件
- JavaScript允许HTML和用户交互的行为叫做时间,用户对网页的任何操作都会产生事件,比如鼠标移动、点击,键盘点击等都是事件;
function showHello(){
alert(“Hello JavaScript”); //alert是警告提示⚠️
}
<button onclick=“showHello()">点击一下</button> //在HTML中调用该函数
算数运算符
- +,-,*,/,%(取余数)
- ++ 自增, ——自减,符号放前面就是先运算后取值,放后面就是先取值,再运算;
- 赋值运算符:=,+=,-=,*=,/=,%= ,x=5 是 最基本的赋值运算符,即把右边的值,赋给左边的变量x。
- +为多态(多功能)运算符,两边都为数字的时候都是加法运算,只要一边为字符串的话就是字符串连接符;
逻辑运算符
- ==,!=,>,<,>= ,
- === 绝对等,和==不同,绝对等不管判断值得大小是否相等,还会判断值得类型是不是一样的,比如数字1和字符串’1’相比较值是相等,所以==返回的是true,但是类型不相等,===返回的是false;
- 三相运算法有三个操作数,如果第一个返回true,就返回第二个操作符 ,否则就返回第三个操作符;
var age = 15;
var movie = age<18?”卡通":"你懂的"; //标黄的是三个操作数;!
条件语句
- if条件一定是一个Boolean类型的值,当为true时,执行对应的语句
- else表示当条件不成立时执行的代码 (和if配合使用;
- 多条件判断:else if
- 多条件判断:switch 和else if 语句一眼,每个判断语句结束都要加上break;
循环语句
- for循环
- while循环
- do-while 循环,至少会循环一次
- for-Each 用于遍历数组
- continue 放弃本次循环,进行下一次循环
- break 循环终止,循环体结束;
评论