JavaScript学习(一)

概述

JavaScript是一门世界最流行的脚本语言

快速入门

引用JavaScript

1内部标签

<script> </script>

2外部引用

abs.js

test.html

<script src="abc.js"></script>

基本语法

alert弹窗

console.log()打印变量

数据类型

数值,文本,图形,音频,视频

number

js不区分小数和整数 ,Number

123整数123

123.1浮点数

1.123e3科学计数法

-99复数

NaN //not a number

Infinity //无限大

字符串

'abc' "abc"

布尔值

true false

逻辑运算

&&两个都为真,结果为真

||一个为真,结果为真

!真即假,假即真

比较运算符

=

==等于(类型不一样,值一样,也 会判断为true)

===绝对等于(类型一样,值一样,结果true)

NaN==NaN,这个与所有的数值都不相等

只能通过isNaN(NaN)来判断 这个数是否是NaN

浮点数问题:

console.log(1/3)==(1-2/3)

尽量避免使用浮点数进行运算,存在精度问题

null和undefined

null是空

undefined未定义

数组

java:一系列相同类型的对象

JavaScript中不需要相同类型的对象

var arr=[1,3,3,'hello'];

new array(1,2,3,4);//错误的!array的首字母必须大写!即Array

对象

对象是大括号,数组中括号

每个属性之间使用逗号,最后一个属性不需要添加

//Person person =new Person(1,2,3,4);

var  person={

name :"qinjiang",

age:3,

tags['js','java','web']//这里不需要逗号!

}

'use strict'; 严格检查模式,预防JavaScript的随意性导致产生的一些问题

必须写在JavaScript的第一行!

局部变量建议都使用let

数据类型

字符串

1、正常字符串我们使用 单引号,

2、注意转义字符 \

\'

\n

\t

\u### unicode字符

\x41  ASC11字符

3.多行字符串编写

//tab上面esc键下面

var msg=

`hello

world

你好ya

你好`

6.字符串的可变性,不可变

7.大小写转换

//注意,这里是方法,不是属性了

student.toUpperCase()

student.toLowerCase()

8、student.index0f('t')

9、substring

student.substring(1)//从第一个字符串截取到最后一个字符串

student.substring(1,3)//[1,3)

数组

1.Array可以包含任意的数据类型

var arr =[1,2,3,4,5,6]

2.长度

arr.length

注意加入给arr.length赋值,数组大小就会发生变化~,如果赋值过小,元素就会丢失

indexOf,通过元素获得下标索引

字符串的"1"和数字1是不同的

slice()截取Array的一部分,返回一个新数组类似于string中的substring

3. push(), pop()

push: 压入到尾部

pop:弹出尾部的一个元素

4. unshift (),shift()头部

unshift:压入到头部

shift:弹出头部的一个元素

5. 排序sort()

["B","C","A"]

arr.sort()

["A","B","C"]

6.元素反转reverse()

["A","B","C"]

arr.reverse()

["C","B","A"]

7.concat()

注意:conat()并没有修改数组,只是会返回一个新的数组

arr.join('-')

"C-B-A"

10.多维数组

对象

若干个键值对

var 对象名={
    属性名:属性值,
    属性名:属性值,
     属性名:属性值
}

//定义了一个person对象,它有四个属性
var person ={
    name:"sf"
    age:18,
    email:"12345678@qq.com",
    score:0
}

js对象,{。。。}表示一个对象,键值对描述属性xxxx:xxxx,

多个属性之间使用逗号隔开,最后一个属性不加逗号!

对象赋值

person.name="sf"

"sf"

person.name

"sf"

使用一个不存在的对象属性,不会报错!undefind

person.haha

undefined

动态的删减属性,通过delete删除对象的属性

delete person.name

true

person

动态的添加,直接给新的属性添加值即可

person.haha="haha"

"haha"

person

判断属性值是否在这个对象中!xxxx   in xxx!

'age' in  person

true

判断一个属性是否是这个对象自身拥有的

person.hasOwnproperty('toString')

false

person.hasOwnProperty('age')

true

 流程控制

if判断

var age=3;
            if(age>3){
                alert("haha");
            }else if(age<5){
                alert("kuwa~");
            }else{
                alert("kuwa");
            }

while循环,避免程序死循环
            while(age<100){
                age=age+1;
                console.log(age)
            }

for 循环
            for(let i=0;i<100;i++){
                console.log(i)
            }

forEach循环

var age =[1,2,4,5,6,7,8,8,8,13,21];
            age.forEach(function(value){
                console.log(value)
            })

for ..in

//for(var index in object){}

for(var num in age){

if (age.hasOwnProperty(num)){

console.log("存在")

console.log(age[num])

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值