javascript

138 阅读3分钟

编译性语言

优点:快

不足:移植性不好(不跨平台)

解释性语言

优点:跨平台

不足:稍微慢

如何引入javascript

可以写在页面里面就属于是就javascript代码(页面级js)

例如:

image.png

变量声明,赋值

image.png 有特殊语法含义的单词不能做变量名比如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(空)

语法

image.png

运算符操作

image.png 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

练习交换两数的值

image.png

比较运算符,逻辑运算符

image.png

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);【!取反】

条件语句,循环语句

image.png

  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('循环结束');
【此时i101

条件语句补充

switch 当它执行一个语句过后,后面的语句也会进行执行 image.png break终止循环【必须写在循环里面】 image.png continue终止本次循环进行下次循环 image.png

数组语法形式

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】

对象基本形式

image.png lastName:属性名 Deng:属性值
每个属性以逗号隔开

编程形式的区别

1.面向过程
【计算机一步一步按照顺序进行操作过程】

2.面向对象

操作符

typeof可以识别六种数据类型: number~ string~ boolean~ undefined~ object~ function【typeof可以区分每一种数据是什么类型的】

number:数字类型
string:字符串类型
boolean:布尔类型
undefined:未定义的
object:空对象
function:可重复使用

类型转换

image.png

可以这样写:
ver demo = "123"
var num = Number(demo);
console.log(typeof(num) + " : " + num);
Number将字符串类型转为梳子类型并输入
也可以这样写:
var num = parseInt('123');
console.log(typeof(num) + " : " + num);
parseInt将有小数点的数转为整数