前端概念复习+VUE初学

11 篇文章 0 订阅

前端概念复习+VUE初学

今天是实习第一天,未来的大概任务已经列在了纸上,个人对于自己的html/css/js基础还比较自信,但现在需要重新过一遍基础,记录一下无法立刻回忆起来的知识,并尽快转入vue的学习。

按照我个人的博客习惯,一些没有解决的问题我会keep在文章前页,如果我解决了,我会在文末放出解释,如果有路过的大佬看到,也希望有大佬能提出解答。

遇到的疑问:

1.不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用:

该问题已经解决,将在文末写出解决方案。

任务1

HTML/CSS/JAVASCRIPT基础虽在,但今天要花时间过一遍所有的菜鸟教程上的基础。记录所有无法立刻回忆起来的知识

question1:对象方法?

var person = {
    firstName: "John",
    lastName : "Doe",
    id : 5566,
    fullName : function() 
	{
       return this.firstName + " " + this.lastName;
    }
document.getElementById("demo1").innerHTML = "不加括号输出函数表达式:"  + person.fullName;
document.getElementById("demo2").innerHTML = "加括号输出函数执行结果:"  +  person.fullName();
//不加括号输出函数表达式:function() { return this.firstName + " " + //this.lastName; }

//加括号输出函数执行结果:John Doe

question2:调用带参数的函数tip (这个问题太简单了中午有点困没反应过来下次阅读时可以略过)

可以使用不同的参数来调用该函数,这样就会给出不同的消息:

<button onclick="myFunction('Harry Potter','Wizard')">点击这里</button>
<button onclick="myFunction('Bob','Builder')">点击这里</button>
//typora(或者说markdown)太秀了吧,刚才我没有将其编辑为代码块,结果他整了个botton出来
<script>
function myFunction(name,job)
{
	alert("Welcome " + name + ", the " + job);
}
</script>
//只要我调用函数用的参数不一样,消息就不同

question3:return

我想退出函数,可以直接return;

function myFunction(a,b)
{
if (a>b)
{
return;
}
x=a+b
}

question4:向未声明的 JavaScript 变量分配值

非严格模式下给未声明变量赋值创建的全局变量,是全局对象的可配置属性,可以删除。

var var1 = 1; // 不可配置全局属性
var2 = 2; // 没有使用 var 声明,可配置全局属性

console.log(this.var1); // 1
console.log(window.var1); // 1

delete var1; // false 无法删除
console.log(var1); //1

delete var2; 
console.log(delete var2); // true
console.log(var2); // 已经删除 报错变量未定义

question5:JavaScript 字符串

var answer = "It's alright";
var answer = "He is called 'Johnny'";
var answer = 'He is called "Johnny"';

你可以在字符串中使用引号,字符串中的引号不要与字符串的引号相同

var x = 'It\'s alright';
var y = "He is called \"Johnny\"";

你也可以在字符串添加转义字符来使用引号

var x = "John";
var y = new String("John");
typeof x // 返回 String
typeof y // 返回 Object

不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用:

var x = "John";              
var y = new String("John");
(x === y) // 结果为 false,因为 x 是字符串,y 是对象

=== 为绝对相等,即数据类型与值都必须相等。

question6:null和undefined

null和undefined值相等但是类型不等,意味着他们是“==”

但是不 “===”

你可以设置为 null 来清空对象:

var person = null;           // 值为 null(空), 但类型为对象

你可以设置为 undefined 来清空对象:

var person = undefined;     // 值为 undefined, 类型为 undefined

question7:正则表达式

search() 方法

var str = "Visit Runoob!"; 
var n = str.search(/Runoob/i);
//使用正则表达式,输出6
var str = "Visit Runoob!"; 
var n = str.search("Runoob");
//使用字符串,输出6

replace() 方法

<p id="demo">Visit Microsoft!</p>
var str = document.getElementById("demo").innerHTML; 
var txt = str.replace(/microsoft/i,"Runoob");
var str = document.getElementById("demo").innerHTML; 
var txt = str.replace("Microsoft","Runoob");

输出都是 Visit Runoob!

question8:调试

console.log(c);//控制台输出
任务2:

通读教程

question1:CommonJS是什么?

js没有模块功能,CommonJS应运而生,它希望js可以在任何地方运行,不只是浏览器中。CommonJS定义的模块分为:{模块引用(require)} {模块定义(exports)} {模块标识(module)}

require()用来引入外部模块;exports对象用于导出当前模块的方法或变量,唯一的导出口;module对象就代表模块本身。

疑问解决:

1.不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用:

该问题等效于:为什么说对象字面量赋值比new Object()高效?

var obj={};这个叫做用对象字面量初始化js变量,var obj=new Object();本质上是方法,方法调用涉及到proto链中遍历该方法,当找到该方法后,又会生产方法调用必须的堆栈信息,方法调用结束后,还要释放该堆栈。

已完成任务清单:

1.在阅读vue教程时发现很多知识漏洞,所以先进行了js知识的回顾,进行到了JavaScript 变量提升。

明日计划任务清单:

1.完成js在菜鸟教程上所有内容的回顾

2.根据vue教程进行学习

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值