大一下第三周-js入门第一周

一些该知道的东西

主流浏览器 的 内核
IE 是 trident
Chrome 是 webkit\blink
Firefox 是 Gecko
Opera 是 presto
Safari 是 webkit

如何使用JavaScript?

  1. 直接使用script标签
  2. 在script标签里面使用src属性,直接引入外部文件

日常书写文件的时候把结构,行为,样式,相分离
就是HTML,css,JavaScript各写各的文件(web标准)

基本语法

  • 定义变量
    var,数据类型由赋值的数据决定

  • 输出
    document.write(a);功能相当于printf

  • 原始值不可改变 stack (栈)
    数值的赋值相当于copy

  • 引用值 heap(堆)
    赋值相当于把地址copy了,直接改变数据

  • 在js里面,数组可以相互赋值

  • push相当于在数组中插入数据

  • 基本规则

  1. 语句后面要用分号结束,if,函数,for这些不用加分号
  2. 书写格式要规范,在运算符左右加空格
  • js代码块是互通的

  • 用双引号包括的表示字符串,输出都会直接输出

  • 以下两种都是打印输出,console是在控制台输出
    document.write(“a”);
    console.log(“a”);

运算操作符

  1. “+”
  • 数学运算,字符串连接
  • 任何数据类型加字符串都等于字符串(字符串连接)
  1. 赋值的顺序,自右向左,计算的顺序,自左向右

  2. 比较运算符
    字符串比较ascii码值,结果为true或者false

  3. NaN不等于NaN,NaN即not a number 不是一个数值

  4. && 先看前面的表达式转换为布尔值是否为真,结果为真则继续看第二个,如果只有两个表达式的话,返回第二个表达式的值;当第一个表达式结果为假的时候,就直接返回第一个结果的值,也就是说返回的值是第一个false的或者true
    undefined,null,NaN,"",0,false返回的值都为false

  5. || 全假才为假,也可以用于写兼容

  6. window.prompt(“input”),弹出一个输入框

    if (1 > 2) {
    
    
        document.write("a");
    }
    1 > 2 && document.write("a");
    // 这两种说法表达的结果一样

typeof 类型转换

对象 object

存在属性值和属性名,类似于c语言中的结构体,属性名方便于让我们找到属性值,每一个属性直接用逗号隔开

编程形式的区别:

  1. 面向过程:c语言,c++
  2. 面向对象:Java

js既面向对象,也面向语言

typeof

typeof 会返回六个值,分别为number,string,boolean,object,undefinded,function(函数)
对象,数组,NULL,都会返回object

typeof的使用可以加括号也可以空格隔开

    console.log(typeof(num));
    console.log(typeof num);

类型转换

显示类型转化

在这里插入图片描述

  1. number,就是转换成数,包括true,false,null但是NaN和undefined不会转换
  2. paresInt,是把里面的数转化为整型,第二个参数radix表示string是多少进制的数,然后把radix进制的数转化成十进制的整数,radix取2~36。从数字位开始看,直到遇到第一个非数字位截止
  3. parseFloat,转换成浮点型,和paresInt差不多
  4. toString,和String差不多,但是undefined和null不能用toString,里面的radix是表示将数字转换成其他进制
  5. String,把数字或其他的类型都转换成字符串
  6. Boolean,转换成布尔型
隐示类型转化

在这里插入图片描述

  1. isNaN,里面调用number(),判断转换后的数是不是NaN,然后输出true或false
  2. ++/–/ +/-(一元正负),调用number(),转换后类型肯定是number类型
  3. 当+(加号)两边存在字符串的时候,就会转换成string
  4. -*/%,转换成number
  5. && || !,调用Boolean
  6. < > <= >=,有数字就会转换成数字,然后进行比较,输出Boolean
  7. == !=,调用Boolean

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xXm2iQyS-1616334655302)(3.png)]
undefined == null 是true

  • 不发生类型转换的有绝对等于和绝对不等于
    三个等号表示绝对等于,一个叹号+两个等号表示绝对不等于

  • 只有一种情况在未定义的情况下不报错,就是这种情况

console.log(typeof(a));

这种情况下返回的是字符串undefined,如果再套一个undefined,会返回string

  • typeof()返回的是字符串类型
var a = "123abc";
alert(typeof( !!a ));

输出结果是Boolean

  • toFixed(5),表示保留5位小数,会进行四舍五入

函数

高内聚,弱偶合

使用函数,需要在前面声明是function

function test(){
    
    
    document.write("hello world!");
}
  1. 小驼峰命名法:第一个单词首字母小写,剩下单词的首字母大写(其他命名后续补充吧)

document.write(test);打印函数名会输出整个函数,包括函数内容

定义函数的方式

// 第一种:函数声明
function test(){
    
    
    document.write("hello world!");
}

// 第二种:命名表达式,里面的abc其实没什么用,是未定义的
var test = function abc() {
    
    
            document.write("a");
        }
// 第二种里面test.name存在,为abc

// 第三种:匿名函数表达式(就是指函数表达式)
var demo = function () {
    
    
            document.write("a");
        }
// 第三种里面的demo.name也存在,是demo

参数

  1. 形参:函数声明的时候,在括号里面的用于站位的叫形参,就想里面的a,b
function add(a, b){
    
    
    var c = a + b;
    document.write(c);
}
add(2,3);
  1. 实参,add里面的2,3

形参可以比实参多,实参也可以比形参多

每一个函数里面都有一个隐式的数组,用来存放当实参比形参多的时候多出来的内容,就是arguments

函数还有一个属性,就是函数名也是一个数组,用来存放形参

  • 形参和arguments是两个变量,但他们之间存在映射关系,是始终一一对应的
  • 实参列表在最开始有几个就会有几个,后续在函数内部不会改变arguments的内容

猜你喜欢

转载自blog.csdn.net/weixin_50948265/article/details/115057017