1.JavaScript基础语法

一、介绍

1.javascript跟java一点关系也没有,他是由网景公司Netscape创造的,原名叫livescript,为了蹭java的热度,改名叫javascript。Netscape是第一个创造浏览器的,叫navigator,收费的,但是要运行在微软的操作系统上,后来微软也开始弄自己的浏览器,IE,而且不收费,所以,慢慢的,Netscape公司就GG了,那一波团队,创造了新的公司,并且创造了火狐。java是Sun公司开发的。JavaScript之所以这么火,是因为js是客户端语言,nodejs是服务端语言,所以,会了js,你既可以做客户端,又可以做服务端。

1.书写位置

image.png

image.png
问题:把代码写在body结束的上面和写在window.onload里有啥区别
(1)前者是等DOM结构加载完成之后执行(DOM结构:img标签啦,li标签啦)所以他要快些
(2)后者不仅要等DOM结构加载完成,还要等所有资源文件加载完后才执行(资源文件:图片啦,外部的js文件啦),so他要慢些,window.onload不一定要写在head里,写在任何一个地方都行
image.png
image.png

var a = 5 ;
var b = "abc";
var c;
console.log(a);//5
console.log(c);//undefined
console.log("a");//a   带双引号的就会被当成字符串
alert(a);//alert也是辅助我们调试的工具,早期浏览器没有console,所以用alert调试,很麻烦
document.write("<h1>Hello World</h1>");//Hello World且是h1标题

image.png
注意百度和爱奇艺的console

二、基本数据类型

1.typeof 可以查看变量数据类型
typeof 有两种写法
image.png

console.log(a);//打印变量的值
console.log(typeof a);//打印变量类型

(1)五种基本数据类型

number 无论是整数还是浮点数
string 无论是字符还是字符串
boolean true、false
undefined 当变量未赋初值,那么变量的值和类型都是undefined
null 未找到DOM对象时

(2)变量命名

image.png
jQuery 也 可 以 , 因 为 以 后 学 的 j Q u e r y 就 全 都 是
多个单词的变量名,用驼峰命名法或匈牙利命名法
image.png
image.png
image.png
当变量名包含多个单词时,用驼峰命名,第一个单词首字母小写,其他的都大写
image.png

(3)声明变量

image.png
还是声明一个同时定义的比较好
image.png

(4)字符串拼接

image.png
image.png
image.png
image.png
image.png
image.png

三、计算

(1)后自增

image.png

(2)前自增

image.png
image.png

(3)=赋值

==判断值是否相等
===判断值和类型是否相等
image.png

(4)逻辑运算符

image.png
image.png
image.png

四、类型转换

(1)数字与字符串相遇时

image.png

(2)布尔Boolean与数字相遇时

image.png

(3)转化成字符串

image.png

(4)转成Boolean

image.png

五、辅助调试

console.log()
alert()
prompt()
image.png
image.png

六、条件语句

1.条件判断if else

(1)三目运算符表判断

?:
image.png
image.png
if 语句只判断值,不判断类型,switch既判断类型,又判断值
parseInt();
取整,直接把小数点后面的去掉,而且typeof parseInt() 是number

七、循环语句

(1)for循环

image.png

(2)while循环

image.png

(3)for in 循环

image.png
image.png
image.png

八、函数

(一)、定义函数有两种方式
1.第一种

定义和调用的顺序随便,可以先定义再调用,也可以先调用,后定义

xue();//函数调用
//函数声明/定义
function xue(){
    console.log("Hello World");
}
//计算三角形面积
function  angleArea(){
    var wide = prompt("请输入三角形的底边长度","");
    var high = prompt("请输入三角形的高","");
    var area = wide * high / 2;
    if(isNaN(area)){
        alert("您输入数据有误");
    }else{
        alert("三角形面积为"+area);
    }


}
angleArea();

image.png
image.png
所以,js函数的实参形参很随意,不像别的语言那么严格,但是从可读性讲,还是一一对应的比较好
返回值

function add(a,b){
    return a+b;//如果这个函数执行完就OK了,下面不会用到它的结果,那就不用return返回值,如果在下面需要
                  //用到函数结果,那就用return了
}
var result =add(3,9);
console.log(result+2);
(二)把函数赋值给一个变量(函数直接量)只能先定义后调用
var fun1 = function (){
    console.log("这是函数直接量的方式");
}
fun1();
作用域

image.png

image.png

九、数组

(一)定义数组的第一种方式

array
image.png

//数组
 var arr = [1,2,3,5,6];
for( var i = 0 ; i < arr.length; i++){
    console.log(arr[i]);
}
(二)第二种方式

image.png

var arr = new Array();//括号里不用写数组长度,因为他会根据你下面的赋值而改变
arr[0] = 1;
arr[1] = 3;
arr[100] =9;
console.log(arr[7]);//undefined
console.log(arr.length);//101

image.png

十、对象

(1)定义对象的第一种方式

image.png

//定义对象
var obj1 = new Object();//new了一个对象,所以说,程序员最不缺对象,new一个就行了嘛
obj1.name = "肖战";//给你的对象设置属性
obj1.high = 180;
obj1.love = function(){//给你对象设置方法
    alert("爱李雪");
};
console.log(obj1.name);
console.log(obj1.love());//调用方法后面得有小括号

image.png

(2)第二种方式

image.png
image.png

//定义对象的第二种方式
var father = {
    name: "lili",//注意这里不是;而是逗号
    age : 20,
} ;
var son = {
    name : "lii",
    dad : father,//属性值是个对象
}
console.log(son.dad.age);

image.png
那啥时候用对象.属性,啥时候用对象[属性]呢

image.png

(3)for in就是用来循环数组或对象的
var  arr = ["jjj","jjjjjjj","kkkkkkk"];
for( var p in arr){
    console.log(p + ":" +arr[p]);
}

image.png

var obj1 = {
    name : "lili",
    age : 12,
    height:130,
    p: "这个p是属性不是代表下标的变量"
};
for (  var p in obj1){
    console.log(p+ ":" + obj1[p]);
}

image.png

image.png

栈和堆

栈是先入后出,队先进先出
image.png

image.png

image.png

image.png
undefined布尔值是false,null也是false

if(null===undefined){//如果是==的话,就会输出true
console.log("true");
}else{
    console.log("false");
}
console.log(typeof null);//object  起初是个语法错误,后来被沿用
console.log(typeof undefined);//undefined

十一、dom对象( document object modle)

var oH1 = document.getElementById("hh");
console.log(oH1);

image.png

获取到了对象,就可以获取它的属性了,除了class要写成className外,其他都正常

var oH1 = document.getElementById("hh");
console.log(oH1.className);
console.log(oH1.id);
console.log(oH1.align);

image.png
如果,这个属性不是css自带的,那么就要用getAttribute()

console.log(oH1.getAttribute("xx"));

image.png

十二、NaN

NAN数据类型是number
NaN 布尔值是false
NaN==NaN也是false
NaN和谁都不相等,包括他自己

十三、toString()

image.png
parseInt() 能把小数部分去掉,保留整数

十四、把原先写的js挪到这来

1.理解JavaScript未定义变量
image.png
image.png
image.png

2.JavaScript 转义字符串中的特殊符号

image.png

3.JavaScript 获取字符串的长度

image.png

4.JavaScript字符串的单个字符不能随便改变

image.png

4.JavaScript 使用索引修改数组中的数据

image.png

5.JavaScript 使用索引操作多维数组

image.png

6.push()在数组末尾加n个元素,并返回此时数组元素个数

image.png
image.png

7.pop()删掉数组最后一个数据,并返回删掉的值

image.png

image.png

8. unshift()在数组最前面加n个数据,并返回元素个数

image.png
image.png

9. shift()删除数组第一个数据,并返回删掉的那个数据

image.png
image.png

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值