1.如何引入js 页面内嵌 外部引入
2.基本语法 js语句规则 语句后面要用分号结束“;” js语法错误会引发后续代码终止,但不会影响其它js代码块 书写格式要规范,“=+/——”两边都有空格
- js运算符 运算操作符 “+” 数学运算 字符串链接 任何数据类型加字符串都等于字符串
_ * / % = 【】优先级“=”最弱 ()优先级较高
++ -- += -= /= *= %=
变量声明 : 声明 赋值分解 单一var
命名规则 1.变量名必须以英文字母 _ 开头 2. 变量名可以包括英文字母 _ 数字
3.不可以用系统的关键字丶保留字作为变量名
- 值类型 不可改变的原始值 number string boolean undefined null
- 引用值 array object function
- 赋值的顺序 自右向左 计算的顺序 自左向右
var a = "a" > "b" =>false 比较的是asc顺序
1/0 =>Infinity (正无穷) 0/0=>NaN(not a number) - var a= 1 先看后面的a 直接减一变成0 所以就是 0+0=b a最后的结果是-1
var b= a -- + --a;
document.write(b) - 比较运算符 > < == >= <= != 比较结果为boolean(true/false)
- 逻辑运算符 &&(“与” =>先看第一个表达式转换成布尔值的结果,如果结果为真,那么它会看第二个表达式转换成布尔值的结果,然后如果只有两个表达式的话,只要看到第二个表达式,就可以返回该表达式的值了,如果第一个布尔值为假,直接返回) ||(“或”不管一个式子有多少假的,只要有一个真的,直接返回它的值 ) !(非 就是否的意思)运算结果为真实的值
- 被认定为false的值 undefined null NaN "" 0 false 空串是false 但是 “ ”是true
- NaN == NaN =>false
var n = parseInt(window.prompt( ' input ' ) );n可输入
for(var i = 0; i < 10; i++ ) {
(1) (2) (3)
document.write("a")
} 先执行一遍(1)判断(2)执行语句 执行
(3)判断(2)执行语句 执行(3)判断(2)执行语句
- var i = 1;
var count = 0
for( ; i ; ){
document.write("a");
count++;
if(count == 10){
i = 0
}
}
1.计算2的n次幂 ,n可输入 ,n为自然数。
var mul = 1;
for( var i = 0; i<n; i ++) {
mul *= 2;
}
2.计算n的阶乘,n可输入
for(var i = 1; i<=n; i ++) {
mul *= i;
}
3.著名的斐波那契数列 1 1 2 3 5 8输出第n项
var n = parseInt(window.prompt( ' input ' ) );
var first = 1,
second= 1,
third;
if(n > 2 ){
for(var i = 0; i < n-2; i++) {
third = first + second;
first = second;
second = third;
}
document.write(third);
}else {
document.write(1);
}
4.编写一程序,输入一个三位数的正整数,输出时
反向输出。如:输入456,输出654.
5.输入a,b,c三个数字,打印出最大的。
var a = parseInt(window.prompt( ' input ' ) );
var b = parseInt(window.prompt( ' input ' ) );
var c = parseInt(window.prompt( ' input ' ) );
if( a > b ) {
if(a > c) {
document.write(a);
}else{
document.write(c);
}else{
if(b > c){
document.write(b);
}else{
document.write(c);
}
}
6.打印出100以内的质数。
var count = 0;
for(var i = 1; i < 100; i ++ ){
for(var j = 1; j <= i; j++) {
if( i % j == 0) {
count ++;
}
}
if(count = 2) {
document.write( i + " " );
}
count = 0;
}
- var n = "a";``
switch(n) {
case "a":
console.log("a");
case 2:
console.log("b");
case true:
console.log("c");
}
console.log(a b c )
var n = "a";
switch(n) {
case "a":
console.log("a");
break
case 2:
console.log("b");
break
case true:
console.log("c");
break
}
=>console.log('a' )
var i = 0;
while(1){
i ++;
console.log(i);
if(i>100){
break
}
} console.log(1~101)
break终止循环 但是必须放在循环里 否则报错
var i = 0;
var sum = 0;
for(var i = 0; i < 100; i++; ){
sum+=i;
console.log(i);
if(sum > 100){
break;
}
}
=>console.log(0~14)
for(var i = 0; i < 100; i++){
if(i % 7 == 0 || i % 10==7){
continue;
}
console.log(i);
}
continue 终止本次循环 进行下次循环 避开了 符
合以上条件的所有结果
typeof 六种数据类型 number(数字) string(字符串) Boolean undefined object(引用值 如数组【】 空对象{ } null) function
(type(num)) == (type num) Number ( undefined "a" )=> NaN parseInt数字取整( 123.12 =>123) true/false =>NaN parsefloat 只显示数字 Number(null)=> 0 underfined == null =>true NaN == NaN =>false
console.log( typeof ( typeof( a )) )=>string(字符 ) 里面的typeof a 变成了 “undefined”