编译性语言
优点:快
不足:移植性不好(不跨平台)
解释性语言
优点:跨平台
不足:稍微慢
如何引入javascript
可以写在页面里面就属于是就javascript代码(页面级js)
例如:
变量声明,赋值
有特殊语法含义的单词不能做变量名比如let
<script>
let name;
name = 100;【=赋值】
/*简化*/
let name = 100;
</script>
分类
/*原始值 stack 栈内存*/
Number Boolean String undefined null
/*引用值 heap 堆内存*/
array Object function ...date RegExp
**Number(数字类型)
**Boolean(布尔类型)
**String(字符串类型)
**undefined(没有定义的)
**null(空)
语法
运算符操作
a++:a=a+1(++)简写:a += 1
a--: a=a-1(--)简写:a -= 1
a*=2:a=a2( =)简写:a *= 2
a%=2:a=a%2(%=)简写:a %= 2
练习交换两数的值
比较运算符,逻辑运算符
a = 2 > 1(true):【>】
a = 1 == 2(false):【==】
a = 1 >= 2(false):【>=】
a = 1 != 2(true):【!=】
&& || !
先看第一表达式转换成布尔值的结果,如果结果为真,那么它会看第二表达式转换为布尔值的结果,然后只有两个表达式的话,只看到第二表达式,就可以返回表达式的值了。
let a = 1 && 2【1为true所以直接将2为运算结果赋给a】;
let a = 0 && 2【0为false所以直接将0为运算结果赋给a,后面的值不会继续进行操作】
**有两个表达式的话第一个为真那么就将第二个值返回,要是第一个为假那么直接将第一个值返回。如果第二个为假那么返回的值为假。【全真才为真,有一个为假那么全部都为假】
let num = 1 || 3【||】
和&&运算符相反,||运算符是要是第一个值为真直接返回,如果第一个值为假那么继续运算下一个值【全假才为假,有一个真就全为真】
let a = !123(false);【!取反】
条件语句,循环语句
let ranking = parseInt(window.pormpt('请输入'))
/*90 - 100 阿里巴巴*/
/*80 - 90 腾讯*/
/*70 - 80 百度*/
/*60 - 70 蘑菇街*/
/*60 以下 。。。*/
if(ranking>90 && ranking<=100){
document.write('阿里巴巴')
}else if(ranking>80 && ranking<=90){
document.write('腾讯')
}else if(ranking>70 && ranking<=80){
document.write('百度')
}else if(ranking>60 && ranking<=70){
document.write('蘑菇街')
}else if(ranking<60 && ranking>=0){
document.write('。。。')
}esle{
documemt.write('输入错误')
}
elae if : 满足条件后,之后的条件就不会继续进行(省效率但不能乱用因为它满足条件后就不会进行下面的步骤)
esle :表述输入的东西以上条件都不符合那么提示输入错误
/*if 和 && 的转换*/
if(1 > 2){
document.write('a')
}
1 > 2 && document.write('a')
for循环:是先执行后判断。
for(let i = 0; i < 10; i++){
document.write('a');
}
先执行一边(第一步)
判断(第二步)执行语句
执行(第三步)
如此重复10变
执行(第四步false执行结束)
第一步:let i = 0;
第二步:if(i < 10){ document.write('a'); }
第三步:i++; -->i = 1;
第四步:if(i < 10){ document.write('a') }
while循环:是先判断后执行。
【输出1-100的数字】
let i=1
while(i<=100){
【console.log(i);】
document.write('<h1>谁都阻止不了我</h1>')
【对i进行变化,对i进行操作】
i++
}
console.log('循环结束');
【此时i是101】
条件语句补充
switch 当它执行一个语句过后,后面的语句也会进行执行
break终止循环【必须写在循环里面】
continue终止本次循环进行下次循环
数组语法形式
var arr = [1,2,3,3,4,5,5]
arr表示数组的引用数组里面从0开始计算 例如:0取值1. 1取值2...
arr也可以赋值【读】:arr[0] = 3【将原本0取得值改为3】
console.log(arr.length;) length表示数组的长度【如上7位值长度就是7】
数组的遍历:for(var i = 0; i < arr.lenght; i ++){ arr[i] += 1; }【给每位数都加1】
对象基本形式
lastName:属性名 Deng:属性值
每个属性以逗号隔开
编程形式的区别
1.面向过程
【计算机一步一步按照顺序进行操作过程】
2.面向对象
操作符
typeof可以识别六种数据类型: number~ string~ boolean~ undefined~ object~ function【typeof可以区分每一种数据是什么类型的】
number:数字类型
string:字符串类型
boolean:布尔类型
undefined:未定义的
object:空对象
function:可重复使用
类型转换
可以这样写:
ver demo = "123"
var num = Number(demo);
console.log(typeof(num) + " : " + num);
Number将字符串类型转为梳子类型并输入
也可以这样写:
var num = parseInt('123');
console.log(typeof(num) + " : " + num);
parseInt将有小数点的数转为整数