Q:

Написать текст при фокусировке javascript

Я подключаю свой js в html:
<input id="name" name="input-name" class="input-search" type="text">

Функция из script.js которая должна сработать при фокусе на поле с id = name, как я понимаю
name.onfocus = function() {
    name.value = 'Ivanov'
}

есть в форме поле для ввода:
<input id="name" name="input-name" class="input-search" type="text">

Но я что-то делаю не так, я гуглил и не совсем понял как с этим разобраться.

A:

У тебя script подключен в head 
<head>
   <!-- script подключен не правильно  -->
    <script type="text/javascript" src="script.js"></script>
    <link rel="stylesheet" href="style.css">
    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
    <title>LAB3</title>
</head>

А должен быть подключен тут перед закрывающим body
 <script type="text/javascript" src="script.js"></script> 
</body>
</html>

Так как когда страница грузиться парсер начинает читать код, сверху вниз...  А у тебя input к этому времени не загрузился...
Ну и как ниже сказано реализовать функции, даже если бы скрипт был подключен правильно, все ровно не работал бы...  
Функцию же надо запустить...

function funName(elem) {
  elem.value = 'Ivanov'
}
<input id="name" name="input-name" class="input-search" type="text" onfocus="funName(this)">

Вариант автора с испралениями
name ни-где не инициализирована... 

//name переменно не существует,  ее надо объявить

let name = document.querySelector('#name');


name.onfocus = function() {
  name.value = 'Ivanov'
}
<input id="name" name="input-name" class="input-search" type="text">

Но я бы Реализовал так так:

document.querySelector('#name').addEventListener('focus', function() {
  this.value = 'Ivanov'
})
<input id="name" name="input-name" class="input-search" type="text">

